home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d3 / bingo201.arc / BINGO.DOC < prev    next >
Text File  |  1991-08-20  |  179KB  |  4,930 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                           The Bingo Programmer's Text Editor
  7.                                  A Shareware Product
  8.                                      Version 2.01
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                                    Reference Manual
  26.                                Copyright 1989,1990,1991
  27.                               Christopher R. S. Schanck
  28.  
  29.                                   December 31, 1990
  30.  
  31.  
  32.  
  33.  
  34.                                   Table of Contents
  35.                                   -----------------
  36.  
  37.           Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   1
  38.                Philosophy . . . . . . . . . . . . . . . . . . . . . . .   2
  39.                The Shareware Concept and Registering  . . . . . . . . .   4
  40.                Things to Come (Maybe) . . . . . . . . . . . . . . . . .   4
  41.                Support  . . . . . . . . . . . . . . . . . . . . . . . .   5
  42.                Getting the Latest Version . . . . . . . . . . . . . . .   5
  43.                Bugs fixed in Version 2.01 . . . . . . . . . . . . . . .   6
  44.                Using this Manual  . . . . . . . . . . . . . . . . . . .   7
  45.  
  46.           Critical Short Sections . . . . . . . . . . . . . . . . . . .   8
  47.                Installing Bingo . . . . . . . . . . . . . . . . . . . .   8
  48.                Invoking Bingo . . . . . . . . . . . . . . . . . . . . .   9
  49.                Bingo and Larger Screen Displays . . . . . . . . . . . .  10
  50.                Bingo's Menu System  . . . . . . . . . . . . . . . . . .  11
  51.                Bingo's Dialogue Boxes . . . . . . . . . . . . . . . . .  12
  52.                     String Entry Boxes  . . . . . . . . . . . . . . . .  12
  53.                     Yes/No Boxes  . . . . . . . . . . . . . . . . . . .  12
  54.                     Non-Editable Display Boxes  . . . . . . . . . . . .  12
  55.                     List-Picking Boxes  . . . . . . . . . . . . . . . .  12
  56.                Directory Lister . . . . . . . . . . . . . . . . . . . .  14
  57.                Bingo and File Names . . . . . . . . . . . . . . . . . .  14
  58.                The Status Line  . . . . . . . . . . . . . . . . . . . .  15
  59.                Keyinst: The Keyboard Configuration Program  . . . . . .  16
  60.                     Key Names . . . . . . . . . . . . . . . . . . . . .  16
  61.                     'open_end' Identifier . . . . . . . . . . . . . . .  19
  62.                     'cur_file' Identifier . . . . . . . . . . . . . . .  19
  63.                     Keyinst Command Line Options  . . . . . . . . . . .  20
  64.                Bingo & The Mouse  . . . . . . . . . . . . . . . . . . .  21
  65.                     The Mouse Cursor  . . . . . . . . . . . . . . . . .  21
  66.                     The Mouse at the General Editing Level  . . . . . .  21
  67.                     The Mouse and The Menus . . . . . . . . . . . . . .  23
  68.                     The Mouse & Dialogue Boxes  . . . . . . . . . . . .  24
  69.                          String Entry Boxes . . . . . . . . . . . . . .  24
  70.                          Yes/No Boxes . . . . . . . . . . . . . . . . .  24
  71.                          Non-Editable Display Boxes . . . . . . . . . .  24
  72.                          List-Picking Boxes . . . . . . . . . . . . . .  24
  73.                     The Mouse and The ASCII Table . . . . . . . . . . .  25
  74.  
  75.           Basic Editing . . . . . . . . . . . . . . . . . . . . . . . .  26
  76.                The Destructive Backspace  . . . . . . . . . . . . . . .  26
  77.                Delete EOL vs. Delete Line vs. Delete BOL  . . . . . . .  26
  78.                Delete Word  . . . . . . . . . . . . . . . . . . . . . .  26
  79.  
  80.           File Handling . . . . . . . . . . . . . . . . . . . . . . . .  27
  81.                Edit_file & Load_file  . . . . . . . . . . . . . . . . .  27
  82.                Choose_file  . . . . . . . . . . . . . . . . . . . . . .  27
  83.                Rename_file  . . . . . . . . . . . . . . . . . . . . . .  27
  84.                Quit . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  85.                Quit_all . . . . . . . . . . . . . . . . . . . . . . . .  27
  86.                Abort & Abort_all  . . . . . . . . . . . . . . . . . . .  27
  87.                Delete_file  . . . . . . . . . . . . . . . . . . . . . .  28
  88.  
  89.  
  90.  
  91.  
  92.                Zap_file . . . . . . . . . . . . . . . . . . . . . . . .  28
  93.                Modify_save & Modify_save_all  . . . . . . . . . . . . .  28
  94.                Switch_file  . . . . . . . . . . . . . . . . . . . . . .  28
  95.  
  96.           Searching . . . . . . . . . . . . . . . . . . . . . . . . . .  29
  97.  
  98.           Navigation  . . . . . . . . . . . . . . . . . . . . . . . . .  30
  99.  
  100.           Block Handling  . . . . . . . . . . . . . . . . . . . . . . .  31
  101.                Marking  . . . . . . . . . . . . . . . . . . . . . . . .  31
  102.                Operations on Blocks . . . . . . . . . . . . . . . . . .  31
  103.                Named Buffers  . . . . . . . . . . . . . . . . . . . . .  32
  104.                Miscellaneous Functions  . . . . . . . . . . . . . . . .  32
  105.  
  106.           Utilities . . . . . . . . . . . . . . . . . . . . . . . . . .  33
  107.  
  108.           Extra Functions . . . . . . . . . . . . . . . . . . . . . . .  34
  109.                Help . . . . . . . . . . . . . . . . . . . . . . . . . .  34
  110.                Info . . . . . . . . . . . . . . . . . . . . . . . . . .  34
  111.                Pick & Exec  . . . . . . . . . . . . . . . . . . . . . .  34
  112.                Quit and Save Status . . . . . . . . . . . . . . . . . .  34
  113.                Global . . . . . . . . . . . . . . . . . . . . . . . . .  35
  114.                Ascii_table  . . . . . . . . . . . . . . . . . . . . . .  35
  115.                Load_ & Write_profile  . . . . . . . . . . . . . . . . .  35
  116.  
  117.           System Operations . . . . . . . . . . . . . . . . . . . . . .  36
  118.                Changing Directories . . . . . . . . . . . . . . . . . .  36
  119.                Simple Execution & Shelling  . . . . . . . . . . . . . .  36
  120.                Swap Execution & Shelling  . . . . . . . . . . . . . . .  36
  121.  
  122.           Macros  . . . . . . . . . . . . . . . . . . . . . . . . . . .  38
  123.                Macro Space  . . . . . . . . . . . . . . . . . . . . . .  38
  124.                Defining Macros  . . . . . . . . . . . . . . . . . . . .  39
  125.                Saving Macros  . . . . . . . . . . . . . . . . . . . . .  40
  126.                Saving the Entire Key Set  . . . . . . . . . . . . . . .  40
  127.                Executing a Macro File . . . . . . . . . . . . . . . . .  40
  128.  
  129.           Windows . . . . . . . . . . . . . . . . . . . . . . . . . . .  41
  130.                Window_split, _edit & _load  . . . . . . . . . . . . . .  41
  131.                Window_vertical  . . . . . . . . . . . . . . . . . . . .  41
  132.                Window_resize  . . . . . . . . . . . . . . . . . . . . .  41
  133.                Window_one & Window_zoom . . . . . . . . . . . . . . . .  41
  134.  
  135.           Printing  . . . . . . . . . . . . . . . . . . . . . . . . . .  42
  136.  
  137.           Error Parsing and Undo  . . . . . . . . . . . . . . . . . . .  43
  138.                How Error Parsing Works  . . . . . . . . . . . . . . . .  43
  139.                Error Parsing Method . . . . . . . . . . . . . . . . . .  43
  140.                Undo Capabilities  . . . . . . . . . . . . . . . . . . .  44
  141.                Manipulating the Undo Stack  . . . . . . . . . . . . . .  44
  142.  
  143.           Configuring Bingo . . . . . . . . . . . . . . . . . . . . . .  45
  144.  
  145.           Function List . . . . . . . . . . . . . . . . . . . . . . . .  46
  146.  
  147.  
  148.  
  149.  
  150.                General Editing  . . . . . . . . . . . . . . . . . . . .  46
  151.                File Handling  . . . . . . . . . . . . . . . . . . . . .  49
  152.                Searching  . . . . . . . . . . . . . . . . . . . . . . .  51
  153.                Navigation . . . . . . . . . . . . . . . . . . . . . . .  53
  154.                Block Handling . . . . . . . . . . . . . . . . . . . . .  55
  155.                Utilities  . . . . . . . . . . . . . . . . . . . . . . .  57
  156.                Extra Operations . . . . . . . . . . . . . . . . . . . .  59
  157.                System Operations  . . . . . . . . . . . . . . . . . . .  61
  158.                Macros . . . . . . . . . . . . . . . . . . . . . . . . .  62
  159.                Windows  . . . . . . . . . . . . . . . . . . . . . . . .  63
  160.                Printing . . . . . . . . . . . . . . . . . . . . . . . .  64
  161.                Error Parsing and Undo . . . . . . . . . . . . . . . . .  65
  162.                Configuration  . . . . . . . . . . . . . . . . . . . . .  66
  163.  
  164.           License Agreement . . . . . . . . . . . . . . . . . . . . . .  72
  165.  
  166.           Registration Form - Bingo 2.01  . . . . . . . . . . . . . . .  74
  167.  
  168.           The Author  . . . . . . . . . . . . . . . . . . . . . . . . .  76
  169.  
  170.           Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  77
  171.  
  172.           Appendix A: Index . . . . . . . . . . . . . . . . . . . . . .  78
  173.  
  174.  
  175.  
  176.  
  177.                                      Introduction
  178.                                      ------------
  179.  
  180.                This document serves as the reference manual for Bingo 2.01. 
  181.           Bingo is a full-featured text editor at the right price.  Some of
  182.           its features include:
  183.  
  184.           -    high speed execution, with particularly fast searches,
  185.                screen handling, and file I/O
  186.           -    full color support
  187.           -    programmable integrated mouse support
  188.           -    easy support of VGA, EGA, & MCGA extended text modes
  189.           -    superb macro capability
  190.           -    large suite of utility functions: entab; detab; command
  191.                repeat; etc.
  192.           -    redefinable keys; custom define your own keyboard setup
  193.           -    complete menu system supporting most Bingo functions
  194.           -    multiple files; up to 50 open files allowed
  195.           -    multiple windows: view different sections of the same file,
  196.                or different files at the same time
  197.           -    execute DOS commands, including command-line compilers
  198.                within only ~10k of overhead
  199.           -    regular expression search and replace
  200.           -    no configuration files needed at runtime
  201.           -    completely configurable from within itself
  202.           -    effective use of placemarks to mark positions in files
  203.           -    edit files up to size of memory
  204.           -    user definable help file
  205.           -    extensive block operation support, include point, line and
  206.                column marking, and two different sets of block operations
  207.           -    one default block buffer, plus 26 additional named buffers
  208.           -    wordwrap, paragraph formatting, and autoindent support
  209.                included for text processing work
  210.           -    C Mode supports programming in the C programming language
  211.           -    Delimiter and indentation matching
  212.           -    wildcard filespecs lead to a directory list picker
  213.           -    execute *any* Bingo function from within Bingo whether it
  214.                has been assigned to a key or not using a 'function picker'
  215.           -    interrupt Bingo at any point and exit, and when you restart
  216.                Bingo it will pick up exactly where you left off
  217.           -    print files & blocks through the serial port, parallel port,
  218.                or to a file, with or without line numbers
  219.           -    set printing left margin, top margin, and lines per page
  220.           -    automatic processing of errors generated by the Borland and
  221.                Microsoft developmental tools.
  222.           -    undo stack of deleted items
  223.           -    execute any command or macro "globally" over all files in
  224.                the ring
  225.  
  226.  
  227.  
  228.  
  229.                              Bingo 2.01 Reference Manual
  230.                                           1
  231.  
  232.  
  233.  
  234.  
  235.           Philosophy
  236.           ----------
  237.  
  238.                Text editors are not required for every system; at least, an
  239.           editor of Bingo's power is not.  If all you require of your
  240.           editor is that it allow you to modify batch files and such, Bingo
  241.           is overkill.  Cheap overkill, but still overkill.  However, if
  242.           you use an editor daily, as a programmer, as a consultant who
  243.           hops from system to system and likes to have your own tools, or
  244.           in any other situation, Bingo could very well be what you are
  245.           looking for.  Why?  In spite of its power, Bingo is very
  246.           inexpensive, and does some things no other editors do, as a look
  247.           at its feature list will convince you.
  248.                People who live with an editor daily for long stretches of
  249.           time know that choosing an editor is a near religious experience. 
  250.           Defense of your choice develops into a kind of fanaticism.  In
  251.           the Unix world, VI/Emacs wars promise to extend into the next
  252.           millennium!  It was the fact that I could not find an editor I
  253.           was truly comfortable with that prompted me to design Bingo.  In
  254.           doing so I believe I have created an editor that should appeal to
  255.           a broad base of users.  
  256.                Bingo allows a large degree of latitude when it comes to
  257.           assigning keys.  In a complementary fashion, it allows a user
  258.           specified file to be used for help.  Further, because of Bingo's
  259.           extensive and powerful Menu system, you do not need to memorize a
  260.           large number of keystrokes in order to use Bingo effectively. 
  261.           This allows you to get up and going in a minimum amount of time.
  262.                As of version 2.0, integrated programmable mouse support has
  263.           been added.  I have found mouse use to be very nice when editing,
  264.           and the response has been very enthusiastic.
  265.                Bingo is optimized for response time.  Screen response in
  266.           particular is very quick, taking full advantage of the PC's
  267.           direct video architecture.  Searches also occur at blazing speed
  268.           -- a must if you spend many hours with an editor.
  269.                Bingo is heavily configurable, all from within the editor
  270.           itself.  This "on-the-fly" ability is a lifesaver if you hop from
  271.           one system to another.
  272.                Bingo has all the standard macro and file handling
  273.           abilities, but it specifically excels at block handling.  Three
  274.           types of marking, 27 buffers to use, and a huge array of
  275.           functions to deal with block operations allow you to use blocks
  276.           to their fullest.
  277.                Especially designed for programmers, Bingo includes a suite
  278.           of utility functions to aid in handling program text.  Functions
  279.           to shift blocks of text left and right, to align blocks, to sort
  280.           blocks, to match delimiters, and to move by indentation are only
  281.           a few of the many handy functions included.
  282.                With version 2.01, a powerful regular expression search
  283.           method has been added.  Further, 'profile' files, which enable
  284.           specific text settings to be associated with files having certain
  285.           extensions, are not supported.  To make this useful, each file
  286.  
  287.                              Bingo 2.01 Reference Manual
  288.                                           2
  289.  
  290.  
  291.  
  292.  
  293.           (or buffer) in the ring now maintains its own set of these
  294.           settings.  This allows you to have the correct settings for .DOC
  295.           files show up when you load .DOC files, the correct settings for
  296.           .CPP files do likewise, and so on.
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.                              Bingo 2.01 Reference Manual
  346.                                           3
  347.  
  348.  
  349.  
  350.  
  351.           The Shareware Concept and Registering
  352.           -------------------------------------
  353.                This is just a general note as to what Bingo being Shareware
  354.           means to you, the user.  Shareware could just as easily be called
  355.           "Honorware": I depend upon you honor to mail in your payment for
  356.           Bingo if you are using it regularly.  All of the legal jargon
  357.           describing this Shareware concept is contained in the License &
  358.           Registration section of this manual.
  359.                So come on, if you use Bingo regularly, send me the $30.00 I
  360.           charge for Bingo -- its not much money for a very sharp program.
  361.                When you register, you are entitled to a number of
  362.           advantages:
  363.  
  364.                1) If you request it, I will mail you a copy of the current
  365.                release of Bingo free.
  366.                2) The next release will be mailed to you free of charge.
  367.                3) Each upgrade after this will cost you a mere $5.00
  368.  
  369.                In addition, with version 2.01 and beyond, registered users
  370.           get to have their named emblazoned on their copy for all to see; 
  371.           this way everyone will know what honorable people they are.  And
  372.           no, a simply sector editor cannot change this name -- it has to
  373.           be done here.  The name will be shown on the intitial screen
  374.           which is popped up when bingo is executed, and can also be
  375.           accessed from the 'version_info' function.
  376.                Also, some registered users are asked to beta-test upcoming
  377.           versions -- a double-edged sword.  Beta testing is somewhat
  378.           precarious at times, but you do get to take a hand in forming the
  379.           next version.  Plus you get to have your complaints redressed
  380.           faster than the general public.
  381.  
  382.           Things to Come (Maybe)
  383.           ----------------------
  384.                The one major thing which still(!) looms in Bingo's future
  385.           is the ability to work with files larger than memory.  I am still
  386.           thinking of implementing a virtual memory method, but it may or
  387.           may not appear in later versions.  Ideally, I will simply
  388.           implement an OS/2 version, in which case problems with virtual
  389.           memory and such become the operating systems problem, as they
  390.           should.
  391.                This version showcases another entirely unforseen addition,
  392.           that of regular expression searching, as well as any number of
  393.           other small things.
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.                              Bingo 2.01 Reference Manual
  404.                                           4
  405.  
  406.  
  407.  
  408.  
  409.           Support
  410.           -------
  411.  
  412.                As any of my registered users will tell you, I am committed
  413.           to supporting Bingo.  Without my users, where would I be? 
  414.           Anyone, registered or not, who calls or writes me will receive
  415.           prompt and (hopefully) useful help.  I particularly like to hear
  416.           of requests; anything you would like to see in Bingo, let me
  417.           know.  One of my beta-testers remarked that he felt like he had a
  418.           personal editor -- anything he wanted was added.
  419.                I am now permanently residing in the Baltimore area.  My
  420.           current address and phone number is:
  421.  
  422.                Christopher Schanck
  423.                PO Box 279
  424.                Hanover MD 21076
  425.                (301) 997-3041
  426.  
  427.           You are welcome to call me at the above number, but while the
  428.           address will be stable for the next several years, phone numbers
  429.           do change.  Should this number become invald for any reason, call
  430.           (215) 691-1070 (9am to 6pm, EST).  If you wish, you will be given
  431.           a number where you can currently reach me, or you can leave your
  432.           name and number, and I will return your call within 2-3 days.
  433.                PLEASE feel free to contact me.  I very much like to hear
  434.           from you!  
  435.  
  436.           Getting the Latest Version
  437.           --------------------------
  438.                If you have a copy of Bingo but are not sure if it is the
  439.           latest version, the best way to find out is by calling the
  440.           Computer Connection BBS in Washington DC.  This is a very large,
  441.           well-managed BBS.  The latest version of Bingo will always be
  442.           available here, and E-Mail left for me will be answered.  The
  443.           number is (202) 547-2008.
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.                              Bingo 2.01 Reference Manual
  462.                                           5
  463.  
  464.  
  465.  
  466.  
  467.           Bugs fixed in Version 2.01
  468.           --------------------------
  469.                A number of bugs were fixed in version 2.01.  The major ones
  470.           which were fixed are:
  471.                -    in the macro handling, pressing the Escape key at any
  472.                time ends a macro.  However, in versions prior to 2.01, the
  473.                keystroke prior to the Escape key was not recorded.
  474.                -    also in the macro handling, it was possible, when
  475.                adding new keys, for old key definitions to be dropped. 
  476.                Very disconcerting.
  477.                -    not all functions were properly named in Keyinst.
  478.                -    the 'global' function was not completely stable, and
  479.                was even uglier in use.  
  480.                -    overwrite mode was not stable -- if you overwrite the
  481.                last character on a line, Bingo did not terminate the line,
  482.                hence leaving garbage all over.  Not super dangerous, but
  483.                very irritating.
  484.                -    when swapping out, the status of the error processing
  485.                and the placemarks was not saved.
  486.  
  487.                A number of other small bugs were also fixed, and of course
  488.           the usual number of aesthetic changes were made.  See the READ.ME
  489.           file for more details on bugs which were fixed.
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.                              Bingo 2.01 Reference Manual
  520.                                           6
  521.  
  522.  
  523.  
  524.  
  525.           Using this Manual
  526.           -----------------
  527.                This manual is broken into three parts.  The first is
  528.           comprised of small sections concerned with particular little
  529.           parts of Bingo, such as Installation and Invocation.  
  530.                The second part consists of sections on each major
  531.           functionality present in Bingo.  These individual sections are
  532.           not tutorial in orientation, but rather give necessary
  533.           information needed to utilize this functionality.  
  534.                The final section is a listing of all of the functions
  535.           supported by Bingo.
  536.                I suggest that the first time user first read the initial
  537.           sections for pertinent information, then go through the function
  538.           list *thoroughly*.  This will give you a clear idea of the
  539.           capabilities of Bingo.  Then, for clarification, go through the
  540.           middle sections as needed.
  541.                Finally, read the READ.ME file very carefully.  In some
  542.           cases it will have information this file doesn't contain, and it
  543.           may describe some things in greater detail as it is kept as a
  544.           running log as I make changes.
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.                              Bingo 2.01 Reference Manual
  578.                                           7
  579.  
  580.  
  581.  
  582.  
  583.                                Critical Short Sections
  584.                                -----------------------
  585.  
  586.           Installing Bingo
  587.           ----------------
  588.                There are 2 files which are of critical importance for Bingo
  589.           to run. 
  590.                BE.EXE and BSWAP.COM are the executables.  BE.EXE is the
  591.           actual editor executable, and the file invoked to start the
  592.           editor.  BSWAP.COM is used by BE.EXE to allow Bingo to swap
  593.           itself out of memory and then back in when executing DOS
  594.           commands.  Both of these files MUST, MUST, MUST reside in the
  595.           same subdirectory (Got that?).
  596.                KEYINST.EXE is another program of importance; it is the
  597.           program used to install a keyboard configuration.  It takes the
  598.           name of an executable (usually BE.EXE) and of a configuration
  599.           file (usually BINGO.CFG) and configures the former based on the
  600.           latter.  See the section on Configuring the Keyboard for more
  601.           information.
  602.                The help file BINGO.HLP, is an additional file which must be
  603.           in the same subdirectory as BE.EXE.  When you invoke help, Bingo
  604.           will look there for the file BINGO.HLP.  The file may contain
  605.           your own description of the current key layout, or just about
  606.           anything else you would like.  Bingo comes with a default help
  607.           file.
  608.                As an example, assume the Bingo distribution files are
  609.           contained on drive A:, and you are installing Bingo on drive C:. 
  610.                First, move to drive C: and create a directory for bingo,
  611.           called \bingo using DOS's mkdir command.  Move to this
  612.           subdirectory using 'cd \bingo'.  Now copy the files from drive A:
  613.           over to the proper subdirectory by using 'copy A:*.* C:\BINGO'.
  614.                Finally, you probably want to add 'C:\BINGO' to your PATH
  615.           environment variable.
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.                              Bingo 2.01 Reference Manual
  636.                                           8
  637.  
  638.  
  639.  
  640.  
  641.           Invoking Bingo
  642.           --------------
  643.                Starting Bingo is simple.  Simply type:
  644.  
  645.                     be <filespec> <filespec> ...
  646.  
  647.           at the DOS prompt, and you are off.  One of several things will
  648.           happen.  If each filename you gave is discreet (i.e., no
  649.           wildcards), the files named will each be loaded, one after
  650.           another.  If a filespec matches more than one file, a directory
  651.           list of matching files will pop up which will allow you to choose
  652.           a file.  See the section on the Directory List for further
  653.           explanation.
  654.                If no filespec is given, Bingo will ask behave as if you
  655.           issued 'be *.*'.
  656.  
  657.                You may also specify the starting line and column position
  658.           for the first file to be edited.  The '/lxx' and '/cxx' switches
  659.           allow you to do this.  For example:
  660.  
  661.                be /l10 /c15 test.doc
  662.  
  663.           would load the file test.doc and move to the 10th line, five
  664.           columns over.  If you do not give a column argument, the first
  665.           column will be assumed.  If you do not give a line argument, both
  666.           the first line and the first column will be assumed.
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.                              Bingo 2.01 Reference Manual
  694.                                           9
  695.  
  696.  
  697.  
  698.  
  699.           Bingo and Larger Screen Displays
  700.           --------------------------------
  701.                EGA, VGA, and MCGA video display cards support displays
  702.           larger than the standard 25 rows by 80 columns.  Bingo does
  703.           support editing on these screen sizes.  Bingo can be set to
  704.           handle screen displays in one of three ways:
  705.                -    Bingo can be set to detect the current screen type and
  706.                     dimensions, and do retrace checking.
  707.                -    Bingo can be set to detect the current screen type and
  708.                     size, but do no retrace checking.
  709.                -    Bingo can be set to switch to 43/50 line mode if it is
  710.                     supported.  No retrace checking will be performed.
  711.           As shipped, Bingo chooses the middle of these three courses.  The
  712.           retrace checking is only done if you are using a color display
  713.           with a 25x80 configuration.
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.                              Bingo 2.01 Reference Manual
  752.                                           10
  753.  
  754.  
  755.  
  756.  
  757.           Bingo's Menu System
  758.           -------------------
  759.                Bingo implements a comprehensive menu structure to aid you
  760.           in utilizing Bingo's functions.  Many people, myself included, do
  761.           not necessarily wish to spend the time to assign every function
  762.           we need to a keyboard equivalent.  This requires a large time
  763.           investment before you can begin using the editor.  On the other
  764.           hand, it is very irritating when you need a particular function
  765.           and cannot use it because you did not have the foresight to
  766.           assigned it to a key combination.  
  767.                Bingo's menu system was designed to handle just this
  768.           situation.  By assigning the 'main_menu' function to a keystroke,
  769.           you effectively have access to *every* function Bingo has. 
  770.           First, greater than 75% of Bingo's functions are directly
  771.           accessible from the menus, grouped in logical sets, following a
  772.           logical hierarchy.  The remaining functions can be accessed by
  773.           selecting the 'eXtras' sub-menu, then the 'Pick & exec' function. 
  774.           This function then allows you to choose from a list of *all*
  775.           supported functions.
  776.                I have found that for most people, it pays to assign your
  777.           most commonly needed functions to keystrokes, and then rely on
  778.           the menu system for the ones which are used to a lesser degree. 
  779.           The logical structure of the menus allows for easy access to less
  780.           frequently needed functions.
  781.                The menus themselves work quite easily.  A list of
  782.           possibilities is presented.  A menubar can be moved up and down
  783.           to make your choice; pressing Return selects the choice.  In
  784.           addition, each choice has a highlighted character; pressing this
  785.           character will automatically select the choice.
  786.                In some cases you may be presented with a child menu.  Here
  787.           again you may make a choice as before, with one additional bit of
  788.           functionality.  If you are in a child menu, pressing the PgUp or
  789.           PgDn keys will move you to the previous or next sibling menu,
  790.           respectively.  
  791.                The Print menu, as well as all of the configuration menus,
  792.           is a multiple menu.  This means that after you have made a
  793.           choice, the action will be executed and you will be returned to
  794.           the menu at the same spot.  I have found that when printing and
  795.           configuring, people usually want to do more than one task.  Menus
  796.           which are multiple will have an asterisk ('*') printed at the
  797.           bottom of the menu border.
  798.                The Escape key always closes the current child menu.  If you
  799.           are at the top menu, it quits the menu system entirely.  To see
  800.           how your mouse, if you have one, interacts with the menus, see
  801.           the section concerning Bingo and a mouse.
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.                              Bingo 2.01 Reference Manual
  810.                                           11
  811.  
  812.  
  813.  
  814.  
  815.           Bingo's Dialogue Boxes
  816.           ----------------------
  817.                Throughout Bingo, you will encounter many dialogue boxes. 
  818.           There are four main types.  They are:
  819.  
  820.                String Entry Boxes:
  821.  
  822.                     These are the boxes which ask you for string input. 
  823.                The easiest example is when Bingo asks you for a filename. 
  824.                These boxes allow you to enter string input in a flexible
  825.                manner.  A wide variety of keystrokes are available to aid
  826.                in this endeavor, they primarily consist of Home and End,
  827.                and various combinations of Home and End with the Control
  828.                key.
  829.                     Pressing <Escape> will abort out of the string entry
  830.                operation.
  831.  
  832.                Yes/No Boxes:
  833.  
  834.                     These are the boxes which require a yes or no answer to
  835.                a question.  An example of this is when you 'quit' a file
  836.                and the file has been modified.  Bingo will ask you if you
  837.                wish to save the file.
  838.                     Each time you enter a Yes/No box, one of the two
  839.                options will be will be highlighted.  This is the default
  840.                option which will be selected if you press <Return>.  By
  841.                using the Left and Right Arrow keys, you can change the
  842.                current selection.  Alternatively, you can press either the
  843.                'y' key (any case) for a yes answer, or the 'n' key (any
  844.                case) for a no answer.
  845.                     Pressing <Escape> will abort the operation.
  846.  
  847.                Non-Editable Display Boxes:
  848.  
  849.                     The easiest example of this type of box is the Help
  850.                box, or the Info box.  This type of box simply displays a
  851.                number of lines within a box.  By using the Up and Down
  852.                arrows (also the space bar) you may scroll by lines, and by
  853.                using the Page Up and Page Down keys you may scroll by
  854.                pages.
  855.                     Any other keystroke will exit the box.
  856.  
  857.  
  858.                List-Picking Boxes:
  859.  
  860.                     The best example of this type of dialogue box occurs
  861.                when the 'directory list picker' pops up.  This type of box
  862.                is very similar to the Non-Editable box discussed above, but
  863.                the idea here is not merely to display information but to
  864.                facilitate making a choice.  There will be a menubar
  865.                highlighted, showing the current selection.  You may move
  866.  
  867.                              Bingo 2.01 Reference Manual
  868.                                           12
  869.  
  870.  
  871.  
  872.  
  873.                this bar up and down using the arrow and page keys. 
  874.                Pressing <Return> will selection this option.
  875.                     Additionally, the initial character of each selection
  876.                may be highlighted.  If so, pressing the corresponding
  877.                character will automatically select this option.
  878.                     Finally, even if the leading characters of each
  879.                selection are not so highlighted, you may "step" through the
  880.                selections by pressing letter keys.  The menubar will move
  881.                to the next selection which starts with the letter pressed. 
  882.                If necessary, the menubar will wrap to the top of the list
  883.                (Bingo will beep in this case).  In the case of the
  884.                directory picker, the leading '\' characters of directory
  885.                entries will be ignored.
  886.                     As is the custom, the <Escape> key will abort the
  887.                operation.
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.                              Bingo 2.01 Reference Manual
  926.                                           13
  927.  
  928.  
  929.  
  930.  
  931.           Directory Lister
  932.           ----------------
  933.                One of the extremely useful features of Bingo is its
  934.           directory lister.  Often, Bingo will ask for a filename.  If the
  935.           name you give matches more than one file, in the case of
  936.           wildcards, for instance, the lister will appear with a list of
  937.           matches and all subdirectories in the current directory.  There
  938.           are several features embedded in this lister to assist you in
  939.           choosing a file. 
  940.                First, all subdirectory entries in the current directory
  941.           will are shown at the top, with a '\' character preceding them. 
  942.           Selecting any of these will cause the lister to change to that
  943.           directory.
  944.                Second, pressing a letter causes the Lister to move to the
  945.           next filename whose first character matches the letter pressed. 
  946.           A beep will sound if the search wraps around to the beginning.
  947.                The list is sorted alphabetically by name, but subdirectory
  948.           entries come first.  The last entry is always the New
  949.           Specification entry, which allows you to type in a new
  950.           specification, perhaps another drive if it is necessary. 
  951.                As of version 1.1b, file sizes, dates, and times are also
  952.           shown on the directory list, to aid in your choice.
  953.  
  954.           Bingo and File Names
  955.           --------------------
  956.                Many times during normal operation, Bingo will ask you for a
  957.           filename.  Bingo handles filenames slightly differently than
  958.           plain vanilla DOS.  In particular, let's examine the difference
  959.           between
  960.  
  961.                'thisfile'          &         'thisfile.'
  962.  
  963.                The first does not contain a period.  In this case, Bingo
  964.           will do two things.  First, it will, for each defined default
  965.           extension, check if the file with that extension exists.  If it
  966.           does, it will use that filename.  If none of the default
  967.           extensions lead to a valid, existing file, Bingo automatically
  968.           appends '.*' to the filename, and presents you with a directory
  969.           list picker.  
  970.                The second contains the trailing period, and so will be used
  971.           as is.  So, in order to specify a file without an extension, you
  972.           must add the trailing period.
  973.                Why is this done?  Simple laziness.  This allows me to ask
  974.           for file 'test' and be presented with all forms of 'test.*'.  I
  975.           can then hit return on the file which interests me.  
  976.                Additionally, Bingo accepts either '/' or '\' characters as
  977.           file delimiters.  This will make life a little easier on those of
  978.           us who use UNIX systems regularly.
  979.  
  980.  
  981.  
  982.  
  983.                              Bingo 2.01 Reference Manual
  984.                                           14
  985.  
  986.  
  987.  
  988.  
  989.           The Status Line
  990.           ---------------
  991.                On the bottom line of each window in Bingo's display is the
  992.           status line.  This line communicates several valuable pieces of
  993.           information.  On the left side of the line, the current line and
  994.           column are displayed.  Next are a series of flags:
  995.                       a     Autoindent
  996.                       c     C mode 
  997.                       i     Insert mode
  998.                       m     Matching Mode
  999.                       r     Recording Macro
  1000.                       t     Smart Tabs
  1001.                       w     Wordwrap
  1002.                       z     Zoom mode
  1003.           For each of these flags, if the letter is capitalized, it
  1004.           indicates that the toggle is on, while a lowercase character
  1005.           indicates the option is toggled off.
  1006.                Next you will see something looking like [x/y] where 'y' is
  1007.           the number of files in the ring, and 'x' is the position of the
  1008.           current file in the ring.
  1009.                Finally, the full pathname comes.  If it is prefaced with an
  1010.           asterisk '*', it means the file has been modified.
  1011.                At the end of one of the on screen status lines, you will
  1012.           see either one or three little pyramids.  If there is a single
  1013.           pyramid, that means it is not the active window.  If there are
  1014.           three pyramids, they tell you which is the active window.  If the
  1015.           three pyramids are pointing up, the full-width window above the
  1016.           status line is the current window.  If the three pyramids point
  1017.           to the left, this means that of the two windows above the status
  1018.           line, the one on the left is the active window.  If the three
  1019.           pyramids point to the right, the window on the right is active.
  1020.                The same rules concerning the direction of the pyramids hold
  1021.           for inactive status lines, except that only one pyramid will be
  1022.           present.
  1023.                If this all sounds complicated, don't worry.  Open a few
  1024.           windows and move among them; it will become much clearer.
  1025.                Finally, on the right end of the current status line, a 'T'
  1026.           or 'F' character will be shown.  This represent whether the last
  1027.           operation Bingo executed returned a value of True or False; i.e.,
  1028.           whether it worked.  This does not have a major impact at the
  1029.           moment, but in future versions it will.
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.                              Bingo 2.01 Reference Manual
  1042.                                           15
  1043.  
  1044.  
  1045.  
  1046.  
  1047.           Keyinst: The Keyboard Configuration Program
  1048.           -------------------------------------------
  1049.                Keyinst is the program used to install a keyboard
  1050.           configuration into the Bingo executable.  The supplied
  1051.           configuration files (*.CFG) give a good example of how to set up
  1052.           the file, so this section will simply go over the high points
  1053.           again.
  1054.                Keyinst is invoked as follows:
  1055.  
  1056.                     Keyinst <configuration name>
  1057.  
  1058.           It will then read the named configuration file and, using its
  1059.           data, rewrite 'BE>EXE'.
  1060.  
  1061.           Key Names
  1062.           ---------
  1063.           f1-f10    are the function keys
  1064.           !f1-!f10  are the shifted function keys
  1065.           @f1-@f10  are the control function keys
  1066.           #f1-#f10  are the alt function keys
  1067.           @<key>    is the control-<key> combination
  1068.           #<key>    is the alt-<key> combination
  1069.  
  1070.           These are named keys:
  1071.  
  1072.           backspace                          shift_pgup
  1073.           backtab                            shift_pgdn
  1074.           tab                                shift_right_arrow
  1075.           escape                             shift_left_arrow
  1076.           ctrl_backspace                     shift_up_arrow
  1077.           return                             shift_down_arrow
  1078.           ctrl_return                        ctrl_insert
  1079.           alt_return                         ctrl_delete
  1080.           ctrl_tab                           ctrl_home
  1081.           alt_tab                            ctrl_end
  1082.           alt_equal                          ctrl_pgup
  1083.           alt_minus                          ctrl_pgdn
  1084.           insert                             ctrl_right_arrow
  1085.           delete                             ctrl_left_arrow
  1086.           home                               ctrl_up_arrow
  1087.           end                                ctrl_down_arrow
  1088.           pgup                               keypad_plus
  1089.           pgdn                               keypad_minus
  1090.           right_arrow                        keypad_divide
  1091.           left_arrow                         keypad_aster
  1092.           up_arrow                           keypad_return
  1093.           down_arrow                         ctrl_keypad_plus
  1094.           shift_insert                       ctrl_keypad_minus
  1095.           shift_delete                       ctrl_keypad_divide
  1096.           shift_home                         ctrl_keypad_aster
  1097.           shift_end                          ctrl_keypad_return
  1098.  
  1099.                              Bingo 2.01 Reference Manual
  1100.                                           16
  1101.  
  1102.  
  1103.  
  1104.  
  1105.           alt_keypad_plus
  1106.           alt_keypad_minus                   Note:  The keynames with
  1107.           alt_keypad_divide                  'grey' in them, as well as
  1108.           alt_keypad_aster                   F11, F12, and several others,
  1109.           alt_keypad_return                  denote keys which are
  1110.           grey_up_arrow                      available only if you have an
  1111.           grey_down_arrow                    extended keyboard, and you
  1112.           grey_left_arrow                    have the 'Use Extended
  1113.           grey_right_arrow                   Keyboard Bios' option turned
  1114.           grey_delete                        on.
  1115.           grey_end
  1116.           grey_home
  1117.           grey_insert
  1118.           grey_pgup
  1119.           grey_pgdn
  1120.           ctrl_grey_up_arrow
  1121.           ctrl_grey_down_arrow
  1122.           ctrl_grey_left_arrow
  1123.           ctrl_grey_right_arrow
  1124.           ctrl_grey_delete
  1125.           ctrl_grey_end
  1126.           ctrl_grey_home
  1127.           ctrl_grey_insert
  1128.           ctrl_grey_pgup
  1129.           ctrl_grey_pgdn
  1130.           alt_grey_up_arrow
  1131.           alt_grey_down_arrow
  1132.           alt_grey_left_arrow
  1133.           alt_grey_right_arrow
  1134.           alt_grey_delete
  1135.           alt_grey_end
  1136.           alt_grey_home
  1137.           alt_grey_insert
  1138.           alt_grey_pgup
  1139.           alt_grey_pgdn
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.                              Bingo 2.01 Reference Manual
  1158.                                           17
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.                The configuration file itself consists of lines of the
  1165.           format:
  1166.  
  1167.                <key specifier> <function identifier>
  1168.           or
  1169.                <key specifier> macro <macro list>
  1170.           or
  1171.                ; <comment text>
  1172.  
  1173.           A line starting with a space is a continuation of the previous
  1174.           line.
  1175.  
  1176.                <key specifier> is either a simple <key name>, or two key
  1177.           names strung together as <key name>+<key name>.  For instance,
  1178.           for you Wordstar people, control-k q would be entered as
  1179.  
  1180.                @k+q
  1181.  
  1182.           Note: in this case, the Bingo will recognize both the sequence
  1183.           @k+q and @k+Q as the same thing -- case is not significant.
  1184.  
  1185.                The <macro list> is a list of 0 or more function
  1186.           descriptors, as listed in the Function List section, and 0 or
  1187.           more literal occurrences, and 0 or more named keys, in any order. 
  1188.           The literals must be enclosed in single quotes.  The literals
  1189.           will occur in the macro exactly as if they had been typed.  For
  1190.           instance, the line
  1191.  
  1192.                f1    macro 'Chris' return
  1193.  
  1194.           would define the f1 key as my name followed by a return.
  1195.  
  1196.                The following macro would define the Alt-C key to save all
  1197.           current modified files, execute the make command while swapping
  1198.           Bingo out to disk, saving the errors in the ERRS file, then load
  1199.           the ERRS file.
  1200.  
  1201.                #c        macro save_all swap_execute 'make > errs' return
  1202.                          return load_file 'errs.' return
  1203.  
  1204.                A more interesting variant of this is the one I used prior
  1205.           to installing the auto-error processing:
  1206.  
  1207.                #c        macro modify_save_all swap_execute 'make > errs'
  1208.                          return return window_bottom load_file 'errs.'
  1209.                          return
  1210.  
  1211.           This version will attempt to put the errors file in the bottom-
  1212.           most window, and it will initially only save those files as have
  1213.           been modified.
  1214.  
  1215.                              Bingo 2.01 Reference Manual
  1216.                                           18
  1217.  
  1218.  
  1219.  
  1220.  
  1221.                After adding  the auto-error processing, I added a more
  1222.           complex version of this macro:
  1223.  
  1224.                #c        macro modify_save_all swap_execute 'make > errs'
  1225.                          return return window_one window_split load_file
  1226.                          'errs.' return window_previous window_resize
  1227.                          down_arrow down_arrow down_arrow down_arrow
  1228.                          down_arrow down_arrow return setup_err_parse
  1229.                          'errs.' return return next_error
  1230.  
  1231.           This version saves all modified files, executes Make as before,
  1232.           and returns.  When it returns, it makes sure there is but one
  1233.           window, splits the current window, and loads in the ERRS file. 
  1234.           It then resizes it so the bottom window is smaller, resets the
  1235.           error parsing to the ERRS file, then searches for the next
  1236.           (first) error.
  1237.                This last version is very sweet to use if you have a
  1238.           compiler which generates agreeable error files.
  1239.  
  1240.           'open_end' Identifier
  1241.           ---------------------
  1242.                Keyinst allows the use of the 'open_end' identifier in
  1243.           macros to force Bingo to fetch string input from the keyboard. 
  1244.           For example:
  1245.  
  1246.                f1   macro search open_end 'i' return
  1247.  
  1248.           will execute the search function, wait for the user to input the
  1249.           target string, then input 'i' for the search modifier and do the
  1250.           search.
  1251.                'open_end' is effective only for string input --- single key
  1252.           input situations will not respond to it.
  1253.  
  1254.           'cur_file' Identifier
  1255.           ---------------------
  1256.                Keyinst also allows the use of the 'cur_file' identifier in
  1257.           macros to expand into the current file's name (less path) in
  1258.           string input.  For example:
  1259.  
  1260.                f1   macro load_file cur_file return
  1261.  
  1262.           will force the reload of the current file, providing it is
  1263.           located in the current directory.
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.                              Bingo 2.01 Reference Manual
  1274.                                           19
  1275.  
  1276.  
  1277.  
  1278.  
  1279.           Keyinst Command Line Options
  1280.           ----------------------------
  1281.                Keyinst recognizes three command line options.  One is a
  1282.           shortcut:
  1283.  
  1284.                keyinst !
  1285.  
  1286.           tells Keyinst to assume the name of the configuration file is
  1287.           BINGO.CFG.  I put this in primarily for my own use, as I run
  1288.           Keyinst several times an hour during development.
  1289.  
  1290.                'Keyinst Names' will provide an alphabetical list of all of
  1291.           the function names which are currently recognized.  Useful to
  1292.           have.
  1293.  
  1294.                Likewise 'Keyinst keys' will list all recognized keynames. 
  1295.           Also useful to have.
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.                              Bingo 2.01 Reference Manual
  1332.                                           20
  1333.  
  1334.  
  1335.  
  1336.  
  1337.           Bingo & The Mouse
  1338.           -----------------
  1339.                Bingo has the capacity to make extensive use of a Microsoft
  1340.           (trademark and copyright to Microsoft) compatible mouse, should
  1341.           you have one installed.  In order for the mouse to work, three
  1342.           things must be true. 
  1343.  
  1344.                1) It must be connected to the computer properly.  See your
  1345.           mouse manual for instructions.
  1346.                2) You must have your mouse driver installed properly. 
  1347.           Again, see your mouse manual for instructions on how to
  1348.           accomplish this.
  1349.                3) You must have the 'Use Mouse' option turned on, found in
  1350.           the General configuration menu. Bingo is shipped with mouse use
  1351.           turned on.
  1352.  
  1353.                Bingo is designed to allow users of three button mice to
  1354.           make full use of all three buttons (I have a three button mouse). 
  1355.           However, users with two button mice will only lose a little
  1356.           functionality when it comes to programming the mouse, and no
  1357.           functionality at all when it comes to dealing with the menus and
  1358.           dialogue boxes.
  1359.                It is generally easy to tell if the mouse is working; the
  1360.           status line will have four additional "buttons", each consisting
  1361.           of three arrows enclosed in square braces.  Also, to conserve
  1362.           space, the filename will be shown without its full path.
  1363.  
  1364.           The Mouse Cursor
  1365.           ----------------
  1366.                The mouse cursor will appear on your screen as a solid, non-
  1367.           blinking block, which changes color depending on the underlying
  1368.           color.  It should be possible to move the cursor over the entire
  1369.           screen.  If the mouse cursor is present, it means that a response
  1370.           with the mouse is possible.  If it is not visible, this means
  1371.           that at this point, no mouse response makes sense.
  1372.  
  1373.           The Mouse at the General Editing Level
  1374.           --------------------------------------
  1375.                At the general editing screen, Bingo has 20 programmable
  1376.           mouse events.  The programmable events are handled exactly as key
  1377.           assignments are handled: through Keyinst.  These are the mouse
  1378.           names:
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.                              Bingo 2.01 Reference Manual
  1390.                                           21
  1391.  
  1392.  
  1393.  
  1394.  
  1395.                                Mouse Event Identifiers
  1396.  
  1397.                Three_buttons                 Left_right_buttons
  1398.                Left_middle_buttons           Multiple_left_button
  1399.                Single_left_button            Right_middle_buttons
  1400.                Multiple_right_button         Single_right_button
  1401.                Multiple_middle_button        Single_middle_button
  1402.  
  1403.                Single_pyramids               Multiple_pyramids
  1404.                Single_up_arrow               Single_down_arrow
  1405.                Single_left_arrow             Single_right_arrow
  1406.                Multiple_up_arrow             Multiple_down_arrow
  1407.                Multiple_left_arrow           Multiple_right_arrow
  1408.  
  1409.                The first ten are concerned simply with what happens when
  1410.           you press the corresponding button sequence.  Note that users of
  1411.           two-button devices will only be able to utilize five of these,
  1412.           those dealing with the left and right buttons.
  1413.                The second ten refer to the 5 "hot spots" on the active
  1414.           status line.  There are two for each button, one for a single
  1415.           click and one for a double click.
  1416.  
  1417.                Now that you know of these event names, what can you do with
  1418.           them?  Well, you can assign them anything you could assign a key. 
  1419.           In addition, a special function is provided to help deal with the
  1420.           mouse:
  1421.  
  1422.                snap_to_mouse_xy:        this function moves the cursor to
  1423.                                         the current mouse position.  If
  1424.                                         necessary, it will change the
  1425.                                         active window.
  1426.  
  1427.           Combining this with other functions, quite powerful mouse events
  1428.           can be programmed.  For example:
  1429.  
  1430.           Single_left_button       snap_to_mouse_xy
  1431.           Single_right_button      macro snap_to_mouse_xy point_mark
  1432.  
  1433.           The first simply moves the cursor, while the second moves the
  1434.           cursor and drops a point mark.
  1435.  
  1436.                The ten "hot spots" can also be programmed as if they were
  1437.           keys.
  1438.             
  1439.           Single_down_arrow        cursor_down
  1440.           Double_down_arrow        down_page
  1441.  
  1442.           Here, this has defined the down arrow button to respond with a
  1443.           cursor_down if a single click occurs on it, or a down_page if a
  1444.           double click occurs on it.  
  1445.  
  1446.  
  1447.                              Bingo 2.01 Reference Manual
  1448.                                           22
  1449.  
  1450.  
  1451.  
  1452.  
  1453.                These "buttons" work a little differently than you might
  1454.           expect -- as long as you hold the mouse button down, the function
  1455.           will repetitively execute.  So, if you double click on the down
  1456.           arrow "button" and hold the second click down, you will see the
  1457.           file whiz by at a truly astonishing speed.  The speed with which
  1458.           the functions are repetitively executed can be governed using the
  1459.           'conf_mdelay' function.
  1460.                These 20 events give you the user an unparalleled degree of
  1461.           control over how the mouse responds.
  1462.  
  1463.           The Mouse and The Menus
  1464.           -----------------------
  1465.                The mouse would not be very useful if it was not well
  1466.           integrated into the menu system.  Great pains have been taken to
  1467.           make mouse use easy and intuitive with respect to the menu
  1468.           system.  
  1469.                Basically, it is very simple.  The left mouse button selects
  1470.           something, and the right mouse button closes the current menu. 
  1471.           However, there are a few refinements.
  1472.                If the item you select with a single left click is in the
  1473.           rightmost menu, the effect is the same as if you had moved to
  1474.           that selection and hit <return>.  If the item is not the
  1475.           rightmost menu, say the it is in the Main menu and you currently
  1476.           have the Block menu open, then you will simply be moved to the
  1477.           selection, with the other menus closed for you.  However, no
  1478.           equivalent <return> will be executed. 
  1479.                If, however, you use a double left click, the selection will
  1480.           be executed regardless of where it was on the menu hierarchy. 
  1481.           Any extra open menus will be closed to bring you to the selected
  1482.           level.
  1483.                Likewise, a single right click will close the current menu. 
  1484.           However, a double click will close *all* open menus.
  1485.                Note that this gives you some capabilities which are not
  1486.           available from the keyboard.
  1487.                If the above sounds complicated, don't worry.  In practice,
  1488.           it is very easy.  I would suggest you restrict yourself to single
  1489.           clicks when you begin, then move to double clicks when you are
  1490.           sure of what a single click would do.  You will very quickly find
  1491.           that the menus are effortlessly intertwined with the mouse.
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.                              Bingo 2.01 Reference Manual
  1506.                                           23
  1507.  
  1508.  
  1509.  
  1510.  
  1511.           The Mouse & Dialogue Boxes
  1512.           --------------------------
  1513.                Throughout Bingo, you will encounter many dialogue boxes. 
  1514.           There are four main types, and all support mouse use where
  1515.           appropriate. They are:
  1516.  
  1517.                String Entry Boxes:
  1518.  
  1519.                     These are the boxes which ask you for string input. 
  1520.                The easiest example is when Bingo asks you for a filename. 
  1521.                There are only a few mouse options in these boxes; most of
  1522.                the time you must enter text from the keyboard.
  1523.                     However, there are three supported button events.  A
  1524.                single left click has the same effect as a <return>; it
  1525.                accepts the current string.  A double left click wipes out
  1526.                the string; it in effect is a Control-Y equivalent. 
  1527.                Finally, any right button click is the equivalent of an
  1528.                <Escape> key.
  1529.  
  1530.                Yes/No Boxes:
  1531.  
  1532.                     These are the boxes which require a yes or no answer to
  1533.                a question.  The easiest example of this is in the
  1534.                configuration options, where you are asked if you wish to
  1535.                toggle the option.  By placing the mouse cursor over the
  1536.                [Yes] selection and pressing the left mouse button, you
  1537.                answer in the affirmative.  Likewise, placing the mouse
  1538.                cursor over the [No] selection and pressing the left button
  1539.                answers in the negative.  
  1540.                     As usual, pressing the right mouse button is equivalent
  1541.                to the <Escape> key.
  1542.  
  1543.                Non-Editable Display Boxes:
  1544.  
  1545.                     The easiest example of this type of box is the Help
  1546.                box, or the Info box.  If there are more lines than fit
  1547.                within the box, up and down arrow boxes will appear in the
  1548.                upper and lower right hand corners of the box.  By moving
  1549.                the mouse cursor to the corresponding box and holding a
  1550.                mouse button down, the display will scroll in the
  1551.                corresponding direction.
  1552.                     As expected, the right button exits.
  1553.  
  1554.                List-Picking Boxes:
  1555.  
  1556.                     The best example of this type of dialogue box occurs
  1557.                when the 'directory list picker' pops up.  Here, as in the
  1558.                Non-Editable Display Boxes, up and down arrow boxes will
  1559.                appear if necessary.  Furthermore, moving the mouse cursor
  1560.                to a particular selection and pressing a single left key
  1561.                will move the menubar to that selection.
  1562.  
  1563.                              Bingo 2.01 Reference Manual
  1564.                                           24
  1565.  
  1566.  
  1567.  
  1568.  
  1569.                     Moving the mouse cursor to a particular selection and
  1570.                double left clicking will select that particular selection
  1571.                as if you had moved the menubar there and typed <return>.
  1572.                     As always, the right button is the equivalent of typing
  1573.                <Escape>.
  1574.  
  1575.           The Mouse and The ASCII Table
  1576.           -----------------------------
  1577.                The mouse is also tightly integrated with the ASCII table
  1578.           function, 'ascii_table'.  Here, single left clicking on a
  1579.           character moves the cursor to it (updating the display).  Double
  1580.           left clicking selects the character and adds it to the string.
  1581.                Single left clicking on the [Bspace] bar is equivalent to
  1582.           typing <backspace>; it removes one character from the string.  A
  1583.           double left click on this spot zeroes the string entirely.
  1584.                As always, clicking the right button is the equivalent of
  1585.           typing <Escape>.
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.                              Bingo 2.01 Reference Manual
  1622.                                           25
  1623.  
  1624.  
  1625.  
  1626.  
  1627.                                     Basic Editing
  1628.                                     -------------
  1629.  
  1630.                Basic editing concerns deletion and insertion of characters. 
  1631.           Bingo provides a number of ways to delete text without recourse
  1632.           to the block operation.  Four of these operations push deleted
  1633.           text onto the unkill stack -- 'del_eol', 'del_line', 'del_bol',
  1634.           and 'del_word'.   
  1635.  
  1636.           The Destructive Backspace
  1637.           -------------------------
  1638.                Bingo supports three backspace deletion modes.  The first is
  1639.           the old favorite, the simple one character destructive backspace. 
  1640.                The second mode destructively deletes back to the previous
  1641.           tab stop, provided there are only spaces in the way.  If there
  1642.           are non-space characters in the way, it functions as in mode 1.
  1643.                The final mode deletes all the way to the left margin
  1644.           (column 1), provided it consists only of spaces.  Again, if there
  1645.           are non-space characters, it functions as mode 2.
  1646.  
  1647.           Delete EOL vs. Delete Line vs. Delete BOL
  1648.           -----------------------------------------
  1649.                The 'del_eol' function deletes the remainder of the line
  1650.           from the cursor position.  If you are on the end of a line, it
  1651.           brings the next line up to the current position.
  1652.                The 'del_line' simple deletes the entire current line, no
  1653.           questions asked.  
  1654.                The 'del_bol' deletes from the current position back to the
  1655.           beginning of the line.  If you are at the begging of a line,
  1656.           nothing happens.
  1657.                In all three cases, the deleted text is pushed onto the undo
  1658.           stack.
  1659.  
  1660.           Delete Word
  1661.           -----------
  1662.                The 'del_word' function deletes the word you are on and any
  1663.           trailing spaces after it.  Unlike the 'next_word' & 'prev_word'
  1664.           functions, 'del_word' considers words to be delimited by spaces. 
  1665.           If you are at the end of a line, it works like a 'del_eol'
  1666.           function.  The deleted text is pushed onto the unkill stack;
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.                              Bingo 2.01 Reference Manual
  1680.                                           26
  1681.  
  1682.  
  1683.  
  1684.  
  1685.                                     File Handling
  1686.                                     -------------
  1687.  
  1688.                Bingo has extensive file handling capabilities, more than
  1689.           almost any other editor available.  Literally, there is little
  1690.           you could want to do with a file which Bingo will not let you do. 
  1691.           Here are some of the high points in file handling with Bingo.
  1692.  
  1693.           Edit_file & Load_file
  1694.           ---------------------
  1695.                Editing a file with an 'edit_file' function may not always
  1696.           physically load the file from disk.  If the asked for name is
  1697.           already being edited, you will simply be moved to the proper
  1698.           buffer.  Conversely, loading a file with the 'load_file' function
  1699.           will always load the file from disk; if it exists in the ring
  1700.           currently, the in-memory version will be killed first.
  1701.  
  1702.           Choose_file
  1703.           -----------
  1704.                The 'choose_file' function pops up a list of the current
  1705.           files in the ring, and allows you to choose from among them. 
  1706.           Also, the option to edit a new file exists; this option is
  1707.           equivalent to the 'edit_file' function.
  1708.  
  1709.           Rename_file
  1710.           -----------
  1711.                The 'rename_file' function changes nothing on the disk until
  1712.           you save the file explicitly; however, it does change the name of
  1713.           the in-memory file.
  1714.  
  1715.           Quit
  1716.           ----
  1717.                This is the usual way to exit a file.  If the file has not
  1718.           been modified, Bingo will immediately quit the file.  If the file
  1719.           has been modified, Bingo will ask you if you wish to save the
  1720.           file.  Remember that in this case, a <return> indicates a yes
  1721.           answer.
  1722.  
  1723.           Quit_all
  1724.           --------
  1725.                This function repeatedly does a 'quit_file' on each file in
  1726.           the ring.  You can abort the operation at any time by typing
  1727.           <Escape> in response to a query.
  1728.  
  1729.           Abort & Abort_all
  1730.           -----------------
  1731.                These are very dangerous functions.  'abort' exits the file,
  1732.           no questions asked.  'abort_all' exits the program, no questions
  1733.           asked.
  1734.  
  1735.  
  1736.  
  1737.                              Bingo 2.01 Reference Manual
  1738.                                           27
  1739.  
  1740.  
  1741.  
  1742.  
  1743.           Delete_file
  1744.           -----------
  1745.                This is just an easy way to delete an arbitrary file on
  1746.           disk.  No more, no less, but sometimes you do need free up disk
  1747.           space.
  1748.  
  1749.           Zap_file
  1750.           --------
  1751.                This allows you to wipe out the disk copy of the currently
  1752.           active file.  It does nothing to the in-memory version of the
  1753.           file itself.
  1754.  
  1755.           Modify_save & Modify_save_all
  1756.           -----------------------------
  1757.                These functions respectively save the current file or each
  1758.           file if and only if it has been modified.  Useful when saving
  1759.           files to compile, so that only modified files get recompiled.
  1760.  
  1761.           Switch_file
  1762.           -----------
  1763.                This function essentially performs a 'quit_file' followed by
  1764.           an 'edit_file'.
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.                              Bingo 2.01 Reference Manual
  1796.                                           28
  1797.  
  1798.  
  1799.  
  1800.  
  1801.                                       Searching
  1802.                                       ---------
  1803.  
  1804.                There are two search algorithms present in Bingo.  One is
  1805.           very simple and very fast, and it is hand-coded in assembler for
  1806.           a bit more speed yet.  For 95% of what you want to do, it is just
  1807.           right.
  1808.                However, with the advent of version 2.01, a second search
  1809.           algorithm was added; a regular-expression method.  Regular
  1810.           expressions are a mathematical way to describe strings of text,
  1811.           and are very powerful.  Bingo's algorithm is reliable but not
  1812.           overly speedy; I suggest you keep this in mind when using it.
  1813.                If you are not familiar with regular expressions, I am not
  1814.           going to attempt to explain them to you here.  If, however, you
  1815.           have used them before, I will explain the notations I used in
  1816.           coding Bingo's algorithm.
  1817.                To perform a regexp search, use the 'R' modifier on you
  1818.           search (or replace).  If you use this modifier, the string will
  1819.           be interpreted as follows:
  1820.  
  1821.                -    classes, i.e. [0-9] and 'not' classes, i.e [~0-9]
  1822.                -    occurrences of once, once or none (?), one or more (+),
  1823.                     none or more (*)
  1824.                -    grouping  {}
  1825.                -    ORing of {} groups |
  1826.                -    wildcard character .
  1827.                -    match begin and end of lines with ^ and $, respectively
  1828.                -    support for debugging regular expression search   patte
  1829.                                                                       rns
  1830.                -    along with regular expression searches, you can specify
  1831.                     the replacement in terms of the matched text.  '@n' in
  1832.                     the replacement pattern places the text matching the
  1833.                     nth group. '@@' matches the entire matched text. This
  1834.                     allows you to do some nifty text manipulation.
  1835.           For some simple examples, see the READ.ME file.
  1836.                It is easy to limit the search area to a specific range by
  1837.           line marking a range of text.  Any search (or replace) which
  1838.           starts within a block will not move past the end of the block. 
  1839.           Basically, this means that no search or replace will continue
  1840.           past the end of a block.
  1841.                The 'C' option in the 'search' function will count the
  1842.           number of occurrences of the target string in the rest of the
  1843.           search area.
  1844.                The Global option for search and replace operations starts
  1845.           from the current cursor position, not from the top of the file.
  1846.                Try the Search & Macro capability -- it is sharp.
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.                              Bingo 2.01 Reference Manual
  1854.                                           29
  1855.  
  1856.  
  1857.  
  1858.  
  1859.                                       Navigation
  1860.                                       ----------
  1861.  
  1862.                Navigation in Bingo is very straightforward.  You may move
  1863.           in terms of characters, lines, words, windowfuls, and the entire
  1864.           file.  You can also jump to the beginning and end of a marked
  1865.           block.  Finally, you can jump to a specified line, or by a
  1866.           relative number of lines, in the file using the Jump function.
  1867.                In addition, Bingo supports placemarks.  I had never really
  1868.           used placemarks much, or "bookmarks" as they are sometimes
  1869.           called.  But a buddy of mine told me to try them when in big
  1870.           files, and I was impressed.  But the editor I tried them in
  1871.           allowed only one; this is just not enough.  So I went one better. 
  1872.           Actually, I went 9 better.
  1873.                Bingo provides 10 placemarks.  You can drop one, jump to
  1874.           one, or pop up a list of the current placemarks.  Each placemark
  1875.           defines a file, a line, and a column.  When you try to jump to a
  1876.           placemark and the file it pertains to is not in the ring, the
  1877.           file will be fetched.
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.                              Bingo 2.01 Reference Manual
  1912.                                           30
  1913.  
  1914.  
  1915.  
  1916.  
  1917.                                     Block Handling
  1918.                                     --------------
  1919.  
  1920.           Marking
  1921.           -------
  1922.                Block marking is extremely flexible.  Three types of marking
  1923.           are supported.  Line marking considers lines to be the smallest
  1924.           indivisible chunks of text.  It is primarily used when editing
  1925.           large sections of program code, since much of this type of
  1926.           editing involves moving lines.
  1927.                Point marking, on the other hand, considers single
  1928.           characters to be the smallest indivisible portions of text.  this
  1929.           is useful for replicating portions of lines, rather than whole
  1930.           lines.  Marking types cannot be mixed!
  1931.                While Point marking "snakes" the mark from one point to the
  1932.           next, Vertical marking lets you define corners of a column-
  1933.           oriented block.
  1934.                In all three cases, marking proceeds as follows: go to the
  1935.           beginning of the block you wish to mark; execute the mark
  1936.           function you wish to apply; move to the end of the block you wish
  1937.           to mark; execute the mark function you wish to apply.
  1938.                Note that block marking does not get "turned on" and "turned
  1939.           off".  You simply mark the boundaries of the block.  If two ends
  1940.           already exist, Bingo will always try to increase the size of the
  1941.           block.  If the new mark is inside the mark, Bingo will replace
  1942.           the "oldest" mark with the new mark.
  1943.                You can also use the 'extend_mark' function.  This simply
  1944.           extends the current marking scheme to the current cursor
  1945.           position.  If there is no mark in the file, 'Extend_mark' will
  1946.           display an error message.
  1947.  
  1948.           Operations on Blocks
  1949.           --------------------
  1950.                Bingo supports two very different sets of block operations. 
  1951.           The first set will be familiar to users of many programming
  1952.           editors, while the second will bring back memories of any
  1953.           Wordstar compatible editor they may have used.
  1954.                The first set of operations consists of three functions:
  1955.           'cut', 'copy', 'paste'.  'cut' snips the marked region to the
  1956.           block buffer, removing it from the file.  'copy' does the same
  1957.           thing, but it leaves the marked text intact in the file.  In both
  1958.           cases, if nothing is marked and you have this option turned on,
  1959.           Bingo will assume you wish the current line to be linemarked.
  1960.                'paste' is very simple: whatever is currently in the block
  1961.           buffer is placed at the current cursor position, based on the
  1962.           marking method used.  If the contents were point marked, the
  1963.           contents are simply 'squirted' into the text.  If the contents
  1964.           were line marked, the lines are inserted above the current line.
  1965.  
  1966.  
  1967.  
  1968.  
  1969.                              Bingo 2.01 Reference Manual
  1970.                                           31
  1971.  
  1972.  
  1973.  
  1974.  
  1975.                There is also an alternate type of paste operation, that of
  1976.           'paste_replace'.  In this case, the paste buffer's contents
  1977.           overwrite the needed amount of space in the text, rather than
  1978.           squirting between existing text.  This type of pasting will only
  1979.           work for Column and Line marked blocks.
  1980.                The second type of block operations available are similar in
  1981.           nature to those used by Wordstar-compatible editors.  Block
  1982.           operations consist of three steps: mark the text, move to the
  1983.           destination position, invoke the function.
  1984.                'block_move' moves the currently marked blocked of text to
  1985.           the current cursor position.  'block_copy' does the same thing,
  1986.           except it leaves a copy behind.
  1987.                'block_delete' is functionally identical to Cut, except that
  1988.           it requires that a block be marked; the setting of the auto
  1989.           linecut toggle has no effect on 'block_delete'.
  1990.  
  1991.           Named Buffers
  1992.           -------------
  1993.                In addition to the default paste buffer, Bingo supports 26
  1994.           named buffers, 'a'-'z'.  In order to change which buffer is
  1995.           currently in use, use the 'name_buffer' function.  Press the
  1996.           letter of the buffer you want, or <return> for the default
  1997.           buffer.  Until you change the buffer, Bingo will use the
  1998.           currently named buffer for all its operations.  All buffers will
  1999.           be saved when a swapping operation is being done.
  2000.  
  2001.           Miscellaneous Functions
  2002.           -----------------------
  2003.                The 'buffer_info' function displays various pertinent info
  2004.           about all the paste buffers, as well as which buffer is the
  2005.           currently active one.  
  2006.                The 'look_buffer' function will display the current contents
  2007.           of the current paste buffer in a non-editable window.
  2008.                The 'report_bsize' function reports the size of the
  2009.           currently marked block in terms of lines and characters.
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.                              Bingo 2.01 Reference Manual
  2028.                                           32
  2029.  
  2030.  
  2031.  
  2032.  
  2033.                                       Utilities
  2034.                                       ---------
  2035.  
  2036.                Bingo provides large number of utilities to be used to
  2037.           manipulate text.  Functions are available to:
  2038.  
  2039.                - change the case of a block
  2040.                - strip the high bit from characters in a block
  2041.                - place tabs within text, and expand tabs within text
  2042.                - shift blocks a certain number of spaces
  2043.                - align lines with other lines
  2044.                - sort blocks, in ascending or descending order, on a
  2045.                particular column
  2046.                - fill a vertically-marked block with a specific character 
  2047.                - format a paragraph
  2048.                - count the number of words over a span of lines
  2049.                - insert the current time and date into the file
  2050.  
  2051.                The big thing with the utilities is: play with them.  They
  2052.           allow you to do some really useful things to your text. 
  2053.           Particularly, entab/detab are very useful when importing files
  2054.           from other systems/editors.
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.                              Bingo 2.01 Reference Manual
  2086.                                           33
  2087.  
  2088.  
  2089.  
  2090.  
  2091.                                    Extra Functions
  2092.                                    ---------------
  2093.  
  2094.           Help
  2095.           ----
  2096.                The 'help' function attempts to read the file BINGO.HLP
  2097.           located in the same directory as BE.EXE.  This file can consist
  2098.           of anything you wish, and contain as many lines as you wish (it
  2099.           must fit into memory...).
  2100.  
  2101.           Info
  2102.           ----
  2103.                This function simply brings up some useful info, such as the
  2104.           size each file will be when written to disk, current date and
  2105.           time, etc.
  2106.  
  2107.           Pick & Exec
  2108.           -----------
  2109.                This function asks for a function descriptor to execute. 
  2110.           The same function descriptors are used as are used by Keyinst. 
  2111.           If you give it an unrecognized descriptor, a list of all
  2112.           supported functions are popped up for your convenience.  If you
  2113.           give it substring, such as 'win', all functions descriptors which
  2114.           contain 'win' anywhere will be shown; in this case the window
  2115.           functions.  Tie this to an easy to remember key and all of
  2116.           Bingo's functions are at your fingertips.  
  2117.                This is also useful when you are trying to remember a
  2118.           particular function descriptor and you don't have the
  2119.           documentation handy.
  2120.  
  2121.           Quit and Save Status
  2122.           --------------------
  2123.                This simply saves the current Bingo status information,
  2124.           copies of all current files, and exits.  When you next start
  2125.           Bingo, it will ask if you wish to restore Bingo to its previous
  2126.           state.  If you say yes, you will be placed exactly where you left
  2127.           off.  If you indicate no, Bingo will proceed normally, leaving
  2128.           the suspension files in place to be dealt with the next time
  2129.           Bingo is invoked.
  2130.                This function is ultra-useful since it allows for easy
  2131.           interruptions when you are working.
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.                              Bingo 2.01 Reference Manual
  2144.                                           34
  2145.  
  2146.  
  2147.  
  2148.  
  2149.           Global
  2150.           ------
  2151.                This is an *extremely* powerful function.  When invoked, it
  2152.           asks for a keystroke to execute globally.  The keystroke can
  2153.           invoke a macro, or simple be tied to a function.  For each file
  2154.           in the ring, Bingo will ask if you wish the function to be
  2155.           executed; your options are the same as they are when doing a
  2156.           search & replace operation: 
  2157.                Y         Yes, do operation, go to next file
  2158.                N         No, don't do operation, but do go to next file
  2159.                O         Yes, do the operation, but abort the global
  2160.                          operation afterwards.
  2161.                G         Yes, do the operation, and do it for all remaining
  2162.                          files without asking.
  2163.                Q         Abort the global operation right now.
  2164.           You must be *very* careful when using this operation; any
  2165.           functions which change the number of files in the ring can be
  2166.           dangerous.  Be prudent when using it, and you will be fine, use
  2167.           it without some forethought, and you may get bitten and regret
  2168.           it.
  2169.  
  2170.           Ascii_table
  2171.           -----------
  2172.                This function serves a dual purpose.  First, it will pop up
  2173.           a display of all 256 characters, serving as a handy reminder of
  2174.           the characters available.  As you move the cursor over the table,
  2175.           the decimal, octal, hexadecimal, and mnemonic values, if
  2176.           appropriate.
  2177.                Further, by moving onto a particular character and hitting
  2178.           return, you will add this character to the string displayed at
  2179.           the top.  You can build a string up to about 30 characters in
  2180.           length.  The <Backspace> key will delete the last character on
  2181.           the string.  When you press <Escape> to leave, the contents of
  2182.           the string will be inserted into the text at the current cursor
  2183.           position.
  2184.  
  2185.           Load_ & Write_profile
  2186.           ---------------------
  2187.                These functions allow you to manage profile files. 
  2188.           'load_profile' will load the profile file for the given
  2189.           extensions, given that it exists.  It will ask if you wish the
  2190.           keyset file also loaded.
  2191.                'write_profile' will save the current text settings to the
  2192.           profile file for the named extension.  It will ask if you wish to
  2193.           save the current keyset as well.  Further, you will be given the
  2194.           option of saving the files in the current directory (where Bingo
  2195.           looks first) or in Bingo's home directory (where Bingo looks
  2196.           second).
  2197.  
  2198.  
  2199.  
  2200.  
  2201.                              Bingo 2.01 Reference Manual
  2202.                                           35
  2203.  
  2204.  
  2205.  
  2206.  
  2207.                                   System Operations
  2208.                                   -----------------
  2209.  
  2210.                Bingo supports a number of system operations.  While they
  2211.           are not large in number, they are large in utility.
  2212.  
  2213.           Changing Directories
  2214.           --------------------
  2215.                The 'chdir' function will allow you to change the currently
  2216.           logged directory, or even drive.  Not used often, but when it is
  2217.           needed, it tends to be *really* needed.
  2218.  
  2219.           Simple Execution & Shelling
  2220.           ---------------------------
  2221.                The 'exec_command' function simply executes a given DOS
  2222.           command line and returns.  It does not do anything fancy, and
  2223.           Bingo will remain in memory (consuming quite a bit of memory) but
  2224.           it is fast and simple for issuing short commands.
  2225.                The 'shell' function is identical to 'exec_command', except
  2226.           it takes no arguments.  It simply gives you a DOS shell.
  2227.  
  2228.           Swap Execution & Shelling
  2229.           -------------------------
  2230.                More often than not, particularly in the case of executing
  2231.           command-line compilers, you simply can't afford to let Bingo hang
  2232.           around in memory, since it consumes a bit.  So Bingo provides two
  2233.           other methods for executing commands.  While they appear
  2234.           identical in form and function to the previous pair of functions,
  2235.           'swap_execute' & 'swap_shell', are much more interesting.  
  2236.                While they, too, execute a command or shell to DOS, prior to
  2237.           doing so, they save all relevant information such as copies of
  2238.           the current files, etc., then swap Bingo out of memory.  When
  2239.           this happens, the ~10k kernel of BSWAP.COM is left behind to
  2240.           manage things in Bingo's absence.  When the command is
  2241.           terminated, Bingo will reappear, load all the state info saved
  2242.           previously, and for all intents and purposes, you are right where
  2243.           you left off.  You can define macros across this gap, your
  2244.           placemarks stay intact, etc.  
  2245.                The cost is a small bit of speed when Bingo saves the state
  2246.           information and reads it again later, but it is negligible for
  2247.           the performance return.  It is ideal for running command-line
  2248.           compilers and other memory intensive programs from within Bingo.
  2249.                One thing to remember: the size of your paste buffers as
  2250.           well as the size of your undo stack affect the time it takes to
  2251.           save and restore Bingo's status.  Keep this in mind when you are
  2252.           configuring the stack size, and when you are utilizing multiple
  2253.           paste buffers.
  2254.                In versions prior to 1.1b, Bingo would not swap shell
  2255.           properly on some machines while running DOS 4.00 and higher. 
  2256.           This has been rectified.
  2257.  
  2258.  
  2259.                              Bingo 2.01 Reference Manual
  2260.                                           36
  2261.  
  2262.  
  2263.  
  2264.  
  2265.                If your machine should for some reason have to be reset
  2266.           while Bingo is swapped out (something that happens when you are
  2267.           developing software), the next time you start Bingo, it will
  2268.           treat the swap files as if they were suspension files, and ask
  2269.           you if you wish to restore Bingo to its previous state.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.                              Bingo 2.01 Reference Manual
  2318.                                           37
  2319.  
  2320.  
  2321.  
  2322.  
  2323.                                         Macros
  2324.                                         ------
  2325.  
  2326.                Bingo provides tremendous support for the creation,
  2327.           management, and execution of keyboard macros.  This level is
  2328.           support was indicated by the author's own experience in
  2329.           developing Bingo.  
  2330.                I started using Bingo to develop Bingo very early on in
  2331.           Bingo's life (it didn't even have a search function at this time)
  2332.           in the hopes that this would ferret out bugs more quickly than
  2333.           testing would.  However, one of the things I missed from my
  2334.           previous editor was the ability to define and replay macros on
  2335.           the fly.  In addition, I felt my previous editor was missing some
  2336.           key functionality when it came to dealing with the keyboard, so I
  2337.           had the opportunity to "do macros right".  Of course, my
  2338.           definition of useful macros may differ from yours, but...
  2339.  
  2340.                     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2341.                     !!!!                                       !!!!
  2342.                     !!!! Macros from versions prior to 2.0 are !!!!
  2343.                     !!!!                  not                  !!!!
  2344.                     !!!! compatible with version 2.0 and above !!!!
  2345.                     !!!!                                       !!!!
  2346.                     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2347.  
  2348.                As of version 2.01, Bingo retains the status of the last
  2349.           function executed internally as a True or False value; you can
  2350.           see this reflected on the far right end of the active status
  2351.           line.  If, during the execution of a macro a function returns a
  2352.           False value, the macro will terminate.  Further, if applicable,
  2353.           the repeat command will terminate.  This allows you to execute
  2354.           macros "until function failure" based on things like trying to
  2355.           move beyond the beginning of the line.
  2356.  
  2357.           Macro Space
  2358.           -----------
  2359.                Bingo allows for a macro space of 2048 macro tokens. A token
  2360.           is either a function identifier, or a literal character.  While
  2361.           this may not seem like very much, to date I have not yet filled
  2362.           half of it, except in artificial testing situations.  Further,
  2363.           when a key is undefined or redefined, any macro space it used is
  2364.           reclaimed.
  2365.                Bingo allows a maximum of 200 one or two key sequences to be
  2366.           defined; again, space in this table is dynamically reclaimed when
  2367.           possible.
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.                              Bingo 2.01 Reference Manual
  2376.                                           38
  2377.  
  2378.  
  2379.  
  2380.  
  2381.           Defining Macros
  2382.           ---------------
  2383.                There are three ways to define macros, all very similar. 
  2384.           You can define the scrap key to hold a macro, a single key to
  2385.           hold a macro, or a two key combination to hold a macro.  Any of
  2386.           these functions will also end a macro definition if one is
  2387.           currently in progress.
  2388.                Macros can be defined across any number of activities. 
  2389.           Pressing <Escape> at any time as the response to a query from
  2390.           Bingo will end the macro presently being recorded.
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.                              Bingo 2.01 Reference Manual
  2434.                                           39
  2435.  
  2436.  
  2437.  
  2438.  
  2439.           Saving Macros
  2440.           -------------
  2441.                Using the single key save and load functions, you can save
  2442.           favorite macros to named files for later recall.  Single saving
  2443.           also saves the key sequence the macro is attached to, and loading
  2444.           it in again will redefine the key.
  2445.  
  2446.           Saving the Entire Key Set
  2447.           -------------------------
  2448.                Bingo also allows you to save the entire key table,
  2449.           including all key assignments and all macros, for later recall. 
  2450.           Recalling a keyset file will overwrite the entire key table, so
  2451.           be warned.
  2452.  
  2453.           Executing a Macro File
  2454.           ----------------------
  2455.                You may also execute any macro which was single saved to a
  2456.           file at any time.  This executes it one, without disturbing the
  2457.           current key table assignments.  Good for macros used
  2458.           infrequently.
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.                              Bingo 2.01 Reference Manual
  2492.                                           40
  2493.  
  2494.  
  2495.  
  2496.  
  2497.                                        Windows
  2498.                                        -------
  2499.  
  2500.           Window_split, _edit & _load
  2501.           ---------------------------
  2502.                 These three functions create new windows from the current
  2503.           window.  Window_split simply splits the current window into two,
  2504.           both containing the same file.
  2505.                Window_edit essentially performs a split, then executes an
  2506.           edit_file function.
  2507.                Window_load essentially performs a split, then a load_file
  2508.           function.
  2509.  
  2510.           Window_vertical
  2511.           ---------------
  2512.                Starting in version 2.0, Bingo provided the ability to split
  2513.           windows vertically.  There are some restrictions, however. 
  2514.           Vertical windows must always exist in pairs; that is, two windows
  2515.           sharing one status line.  They are even resized together.  This
  2516.           is not a large problem, but you should be aware of it.
  2517.  
  2518.           Window_resize
  2519.           -------------
  2520.                This function allows you to change the vertical size of a
  2521.           window, as well as the window below the current one.  
  2522.  
  2523.           Window_one & Window_zoom
  2524.           ------------------------
  2525.                While window_one and window_zoom superficially perform the
  2526.           same action, remember that zoom is simply a toggle, while the
  2527.           'window_one' function eliminates all windows except the current,
  2528.           growing the current window to full size.
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.                              Bingo 2.01 Reference Manual
  2550.                                           41
  2551.  
  2552.  
  2553.  
  2554.  
  2555.                                        Printing
  2556.                                        --------
  2557.  
  2558.                "The main thing to remember about printing is, it's
  2559.           dangerous."  That's what was true about versions prior to 2.0. 
  2560.           However, with the advent of version 2.0, extensive checking was
  2561.           done, and Bingo will detect an inactive parallel or serial
  2562.           device.
  2563.                Prior to version 2.01, there were two functions to print,
  2564.           one for the file and one for a marked block.  As of version 2.01,
  2565.           these have been combined into 'print_file', which prints a block
  2566.           if it is marked, otherwise it prints the file.
  2567.                You can also send a linefeed or formfeed character, or send
  2568.           a sequence of ASCII values.  
  2569.                Also notice that you are asked if you want line numbers
  2570.           printed out with each line.  Kudos to Bob Boyken for this idea!
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.                              Bingo 2.01 Reference Manual
  2608.                                           42
  2609.  
  2610.  
  2611.  
  2612.  
  2613.                                 Error Parsing and Undo
  2614.                                 ----------------------
  2615.  
  2616.           How Error Parsing Works
  2617.           -----------------------
  2618.                Bingo provides the capability to automatically parse
  2619.           compiler generated error messages.  The procedure for this is
  2620.           fairly simple.
  2621.                First, you must have a text file containing the error output
  2622.           of the compiler (or assembler) in question.  This usually
  2623.           obtained by running said compiler and redirecting its output to a
  2624.           file.  Bring this file into the editor.
  2625.                Next, call the 'setup_err_parse' function, and give it the
  2626.           name of the file.  If the name matches a file in the ring, Bingo
  2627.           will tell you that error processing is setup properly.
  2628.                Now it is simple; simple call the 'next_error' or
  2629.           'prev_error' functions.  The following things will happen:
  2630.  
  2631.                1)   Bingo will see if a next (or previous) error can be
  2632.                found.  If not, it will report that no more errors exist.
  2633.                2)   Assuming an error line is found, the filename and line
  2634.                number will be picked out of the line.  Bingo will perform
  2635.                and edit_file operation on the filename, then jump to the
  2636.                offending line.  All of this will happen within the current
  2637.                window.
  2638.                3)   Also, any onscreen window which contains the file being
  2639.                parsed will be updated.  The current error line will be
  2640.                highlighted automatically.
  2641.  
  2642.           As you can see, error parsing is super useful.  For a further
  2643.           example of how it works, see the example macro in the section on
  2644.           the Keyinst program.
  2645.  
  2646.           Error Parsing Method
  2647.           --------------------
  2648.                Bingo parses error files using a "fuzzy" or "best-guess"
  2649.           algorithm.  It checks each line as follows.
  2650.                First, Bingo attempts to find a valid filename on the line. 
  2651.           The filename must contain a period, and it must have a file
  2652.           extension.
  2653.                After finding such a filename, Bingo verifies that the named
  2654.           file exists on disk or in the current ring.  If it does, Bingo
  2655.           now begins to look for the line number within the named file.  
  2656.                Bingo will look for the first number to follow the filename,
  2657.           and use this as the line number.
  2658.                If both a filename & a line number are found, the line will
  2659.           be recognized as a valid error/warning line. 
  2660.                This algorithm will work for the Borland and Microsoft
  2661.           developmental tools.  However, in some cases, you may have to
  2662.           consult your manual in order to find what command-line switches
  2663.  
  2664.  
  2665.                              Bingo 2.01 Reference Manual
  2666.                                           43
  2667.  
  2668.  
  2669.  
  2670.  
  2671.           have to be set for your compiler to output errors in a usable
  2672.           message format.
  2673.  
  2674.                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2675.                !!!!!!!!                                !!!!!!!!!
  2676.                !!!!!!!! Note that linker errors do not !!!!!!!!!
  2677.                !!!!!!!! have line numbers, and so will !!!!!!!!!
  2678.                !!!!!!!!      not be recognized.        !!!!!!!!!
  2679.                !!!!!!!!                                !!!!!!!!!
  2680.                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2681.  
  2682.           However, whenever Bingo encounters a situation where there are no
  2683.           more errors, it will display a message saying so.  Further, it
  2684.           will display a portion of the last non-blank line in the error
  2685.           file on the message line with the "No more Errors" message, so
  2686.           you can verify that all went well.
  2687.  
  2688.           Undo Capabilities
  2689.           -----------------
  2690.                Bingo has several capabilities to allow you to recover from
  2691.           recent mistakes.  The 'Restore_line' function, will simply recall
  2692.           the state of the current line to what it was when you first
  2693.           arrived.  This is good only as long as you do not move from the
  2694.           line; once you leave the line, its original state is lost
  2695.           forever.
  2696.                This type of error-recovery is good for small things, but
  2697.           something more substantial was needed.  So Bingo keeps a stack of
  2698.           recently deleted items; text deleted by 'del_eol', 'del_bol', and
  2699.           'del_line' functions.  This stack is kept in reverse order; that
  2700.           is, the most recently deleted text is placed in top of the undo
  2701.           stack.
  2702.                Additionally, you have an option regarding text cut to the
  2703.           paste buffer.  Normally, when you place text into the paste
  2704.           buffer (Using the 'cut', 'copy', etc. functions), if the paste
  2705.           buffer already contains something, that text is discarded. 
  2706.           However, if you set the 'cut to stack' option on (in the General
  2707.           Config Menu, or with the 'conf_cut_stack' function), this text
  2708.           will be pushed onto the stack also.
  2709.                You can control the size of the undo stack using the
  2710.           'conf_kill_size' function (1 to 10240 lines), or through the
  2711.           config menus.  You cannot, however, turn it off.
  2712.  
  2713.           Manipulating the Undo Stack
  2714.           ---------------------------
  2715.                There are three functions available to help you deal with
  2716.           the undo stack.  'rotate_kill' will popup a list of the current
  2717.           stack's contents.  By moving the menu bar and hitting return, you
  2718.           can move the selected entry to the top of the stack.
  2719.                'unkill' and 'paste_kill' are very similar.  They take the
  2720.           top member of the stack and insert it above the current line. 
  2721.           'unkill' also removes the top member from the stack.
  2722.  
  2723.                              Bingo 2.01 Reference Manual
  2724.                                           44
  2725.  
  2726.  
  2727.  
  2728.  
  2729.                                   Configuring Bingo
  2730.                                   -----------------
  2731.  
  2732.                Bingo is extremely configurable.  To access the
  2733.           configuration menu, select the 'Config' option from the main
  2734.           menu, or attach keys to particular configuration functions.  The
  2735.           settings themselves are explained explicitly in the Function List
  2736.           section of this document in the Configuration portion.  
  2737.                To make the current selections permanent, select the "Write
  2738.           setting" option found on the main configuration menu.
  2739.                There is one item of interest of interest.  There are nine
  2740.           settings which as of version 2.01 are maintained on a per buffer
  2741.           basis.  These settings are the ones saved in profile files, and
  2742.           are found on the 'Text Settings' config menu.  Each time you
  2743.           change these with a 'conf_' function, you change both the
  2744.           underlying default (used when new files are brought in) and the
  2745.           current buffer's settings.  For a few settings, there are also
  2746.           'toggle_' functions, such as 'toggle_cmode'.  These change only
  2747.           the current buffer's settings.
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780.  
  2781.                              Bingo 2.01 Reference Manual
  2782.                                           45
  2783.  
  2784.  
  2785.  
  2786.  
  2787.                                     Function List
  2788.                                     -------------
  2789.  
  2790.                The following section contains a listing of the functions
  2791.           supported by Bingo, grouped by functionality.  The index at the
  2792.           end of this document makes alphabetical location of these
  2793.           functions simple.
  2794.  
  2795.           General Editing
  2796.           ---------------
  2797.  
  2798.           insert_tab:         insert the number of spaces needed to move
  2799.                               the cursor to the next tab stop, based on the
  2800.                               current tabsize.
  2801.  
  2802.           carriage:           splits the current line by moving the cursor
  2803.                               to the start of the next line, taking
  2804.                               everything to the right of the cursor along
  2805.                               for the ride.  If this moves you onto the
  2806.                               bottom line of the window, the line will be
  2807.                               centered on the screen.  Depending on C mode
  2808.                               and the AutoIndent mode settings, automatic
  2809.                               indentation of some type may be performed.
  2810.  
  2811.           toggle_ins:         toggles the insert/overwrite mode. Changes
  2812.                               only the setting of the current buffer.
  2813.  
  2814.           toggle_wrap:        toggles the word wrap setting. Changes only
  2815.                               the setting of the current buffer.
  2816.  
  2817.           toggle_cmode:       toggles the C mode setting, regardless of the
  2818.                               file name. Changes only the setting of the
  2819.                               current buffer.
  2820.  
  2821.           toggle_autoindent:  toggle the autoindent setting.  Changes only
  2822.                               the setting of the current buffer.
  2823.  
  2824.           main_menu:          invokes the main menu.
  2825.  
  2826.           del_char:           deletes the current character at the cursor
  2827.                               position; if it was at the end of a line,
  2828.                               brings the next line up.
  2829.  
  2830.           back_space:         performs a destructive backspace, based on
  2831.                               the current deletion mode in effect.
  2832.  
  2833.           del_line:           deletes the entire current line, regardless
  2834.                               of position.
  2835.  
  2836.           del_eol:            deletes all text to the end of the line; if
  2837.                               at the end of a line, joins the lines.
  2838.  
  2839.                              Bingo 2.01 Reference Manual
  2840.                                           46
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.           del_bol:            deletes all text to beginning of line, moves
  2847.                               to first column.
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.                              Bingo 2.01 Reference Manual
  2898.                                           47
  2899.  
  2900.  
  2901.  
  2902.  
  2903.           default_del:        does one of two things depending on whether
  2904.                               or not a block is marked.  If a block is
  2905.                               marked, the 'cut' function is executed.  If
  2906.                               no block is marked, the 'del_char' function
  2907.                               is executed.
  2908.  
  2909.           default_bspace:     similar to 'default_del', except that if no
  2910.                               block is marked, a 'back_space' function is
  2911.                               executed.
  2912.  
  2913.           del_word:           deletes the current word and all trailing
  2914.                               spaces.  If you are at the end of the line,
  2915.                               brings the next line up.
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.                              Bingo 2.01 Reference Manual
  2956.                                           48
  2957.  
  2958.  
  2959.  
  2960.  
  2961.           File Handling
  2962.           -------------
  2963.  
  2964.           edit_file:          after asking for a filename; if the file is
  2965.                               already in the ring, it simply switches to
  2966.                               it.  If it is not in the ring, it loads the
  2967.                               file.
  2968.  
  2969.           choose_file:        pops up a list of current files in the ring,
  2970.                               and an option for a new file.  Selecting the
  2971.                               New File option performs an 'edit_file'
  2972.                               function.
  2973.  
  2974.           load_file:          after asking for a filename, it loads that
  2975.                               file from disk.  If the file is already in
  2976.                               the ring, the in-memory version is first
  2977.                               deleted from memory.
  2978.  
  2979.           rename_file:        renames current file.
  2980.  
  2981.           switch_file:        switches to a different file, performing a
  2982.                               quit on the current file first.  If you
  2983.                               escape out of the quit option, the switch
  2984.                               operation will abort.
  2985.  
  2986.           save_file:          saves the current file; does not exit.
  2987.  
  2988.           modify_save:        saves current file ONLY if it has been
  2989.                               modified.
  2990.  
  2991.           quit:               exits current file.  If the file was
  2992.                               modified, it will ask you if you wish to save
  2993.                               the file; a <return> indicates yes.
  2994.  
  2995.           abort:              exits the file, no protection, no save.
  2996.  
  2997.           file:               saves and exits current file.
  2998.  
  2999.           next_file:          moves to the next file in ring.
  3000.  
  3001.           prev_file:          moves to the previous file in the ring.
  3002.  
  3003.           quit_all:           performs a quit on each file in the ring.
  3004.  
  3005.           abort_all:          aborts all files, no questions asks.
  3006.  
  3007.           file_all:           saves and exits all files.
  3008.  
  3009.           save_all:           saves all files.
  3010.  
  3011.           modify_save_all:    saves each modified file in the ring.
  3012.  
  3013.                              Bingo 2.01 Reference Manual
  3014.                                           49
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.           delete_file:        asks for a filename to delete on disk.
  3021.  
  3022.           zap_file:           delete's the disk copy of the current file. 
  3023.  
  3024.           block_load:         loads a file into the current position; the
  3025.                               file is treated as though it was the line-
  3026.                               marked contents of the block buffer.
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.  
  3043.  
  3044.  
  3045.  
  3046.  
  3047.  
  3048.  
  3049.  
  3050.  
  3051.  
  3052.  
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.                              Bingo 2.01 Reference Manual
  3072.                                           50
  3073.  
  3074.  
  3075.  
  3076.  
  3077.           Searching
  3078.           ---------
  3079.  
  3080.           again:              repeat the last search operation.  If none
  3081.                               has yet been done, works just like search. 
  3082.                               If the last search operation done was a
  3083.                               search & replace, only the search portion is
  3084.                               done.
  3085.  
  3086.           search:             search for text.  Will ask for the target
  3087.                               text, and two modifiers:
  3088.                                    I Ignore case
  3089.                                    B Backwards
  3090.                                    C Count
  3091.                                    R Regexp
  3092.                                    A Accent
  3093.                               The 'C' option simply counts the number of
  3094.                               occurrences.
  3095.                               The 'R' option tells Bingo to interpret the
  3096.                               input string as a regular expression.  See
  3097.                               the section on searching and the READ.ME file
  3098.                               for more details.
  3099.                               The 'A' option tells Bingo to highlight the
  3100.                               'found' text until the next keystroke
  3101.                               arrives.
  3102.                               If the text is marked, the marking will be
  3103.                               treated as linemarking, and Bingo's search
  3104.                               will not continue past the end of the marked
  3105.                               area.  This allows you to limit the searching
  3106.                               scope to a particular area.
  3107.  
  3108.           replace:            search and replace text.  Will ask for
  3109.                               target, replacement text, and three
  3110.                               modifiers:
  3111.                                    I Ignore Case
  3112.                                    B Backwards
  3113.                                    G Global Search/Replace
  3114.                                    R Regexp
  3115.                                    A Accent
  3116.                                    P Preserve
  3117.                                    D Debug
  3118.                               If Global is selected, Bingo will simply
  3119.                               replace all matching occurrences with the
  3120.                               replacement text.  If not, Bingo will stop at
  3121.                               each match and ask:
  3122.                                    Yes:      replace and continue.
  3123.                                    No:       don't replace, but continue
  3124.                                              search.
  3125.                                    Only:     Replace this and stop
  3126.                                    Quit:     stop, no replacement.
  3127.  
  3128.  
  3129.                              Bingo 2.01 Reference Manual
  3130.                                           51
  3131.  
  3132.  
  3133.  
  3134.  
  3135.                                    Global:   Continue with global
  3136.                                              replacement
  3137.                               'R' & 'A' options work as in the search case.
  3138.                               'P' tells Bingo to preserve the original
  3139.                               cursor location and return to it when done
  3140.                               with the replace operation.
  3141.                               'D' is useful for regular expression work. 
  3142.                               It tells Bingo to display its conception of
  3143.                               the target string (grouping, classes,
  3144.                               occurance, etc).
  3145.                               Marked text limits the range as in the search
  3146.                               function.
  3147.  
  3148.           search_macro:       will acted like the 'search' function, but
  3149.                               will ask for a key to apply when found.  It
  3150.                               will work like the replace function, but
  3151.                               instead of replacing, it will execute the
  3152.                               given key.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.                              Bingo 2.01 Reference Manual
  3188.                                           52
  3189.  
  3190.  
  3191.  
  3192.  
  3193.           Navigation
  3194.           ----------
  3195.  
  3196.           down_page:          moves down one windowful.
  3197.  
  3198.           up_page:            moves up one windowful.
  3199.  
  3200.           cursor_right:       moves right one char; wraps if necessary and
  3201.                               if bounce mode is active.
  3202.  
  3203.           cursor_left:        moves left one char, wraps if necessary and
  3204.                               if bounce mode is active.
  3205.  
  3206.           cursor_up:          moves up one line.
  3207.  
  3208.           cursor_down:        moves down one line.
  3209.  
  3210.           back_tab:           moves back to the previous tab stop.  Does
  3211.                               not change the text at all.
  3212.  
  3213.           begin_line:         goes to beginning of line.
  3214.  
  3215.           end_line:           goes to end of line.
  3216.  
  3217.           top_of_file:        jump to top of file.
  3218.  
  3219.           bot_of_file:        jump to bottom of file.
  3220.  
  3221.           next_word:          goes to beginning of next word.
  3222.  
  3223.           prev_word:          goes to beginning of previous word.
  3224.  
  3225.           top_of_screen:      jumps to the top of screen.
  3226.  
  3227.           bottom_of_screen:   jumps to the bottom of screen.
  3228.  
  3229.           top_of_block:       jumps to the top of marked block.
  3230.  
  3231.           bottom_of_block:    jumps to the bottom of marked block.
  3232.  
  3233.           jump:               jump to position.  If the number is prefaced
  3234.                               with a '+' character, Bingo will jump the
  3235.                               relative distance forward.  If the number is
  3236.                               prefaced with a '-' character, Bingo will
  3237.                               jump the relative distance backwards.
  3238.  
  3239.           center_line:        makes the current line the center line of the
  3240.                               current window, and repaint the entire
  3241.                               screen, all windows.  
  3242.  
  3243.  
  3244.  
  3245.                              Bingo 2.01 Reference Manual
  3246.                                           53
  3247.  
  3248.  
  3249.  
  3250.  
  3251.           indent_up:          moves to previous line with same indentation
  3252.                               scheme as current line.
  3253.  
  3254.           indent_down:        moves to next line with same indentation
  3255.                               scheme as current line.
  3256.  
  3257.           snap_to_mouse_xy:   moves the cursor to the current mouse
  3258.                               position, changing windows if necessary.
  3259.  
  3260.           place_mark:         drops a placemark, inquiring as which of the
  3261.                               10 allowed (0-9) you are concerned with. 
  3262.                               Each placemark contains the filename, the
  3263.                               line, the column.
  3264.  
  3265.           jump_mark:          jumps to the specified placemark.  If the
  3266.                               specified filename is not in the ring, Bingo
  3267.                               will go and get it.
  3268.  
  3269.           show_marks:         pops up a window showing the current
  3270.                               placemarks in effect for this editing
  3271.                               session.
  3272.  
  3273.           scroll_up:          scroll the display up one line.
  3274.  
  3275.           scroll_down:        scroll the display down one line.
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.                              Bingo 2.01 Reference Manual
  3304.                                           54
  3305.  
  3306.  
  3307.  
  3308.  
  3309.           Block Handling
  3310.           --------------
  3311.  
  3312.           line_mark:          drop a line marker.  The block will be
  3313.                               expanded or shrunk, depending on the last
  3314.                               drop made.  Line marks consider the line to
  3315.                               be the smallest markable element of text.
  3316.  
  3317.           point_mark:         drop a point marker.  The block will be
  3318.                               expanded or shrunk, depending on the last
  3319.                               drop made.  Point marks consider the
  3320.                               character to be the smallest markable element
  3321.                               of text.
  3322.  
  3323.           vertical_mark:      drop a vertical marker. Vertical, or column,
  3324.                               blocks are defined by and upper and an
  3325.                               opposing lower corner.
  3326.  
  3327.           extend_mark:        extends the current marked block, using
  3328.                               whichever marking scheme is in place.  Does
  3329.                               nothing if no block is marked.
  3330.  
  3331.           unmark:             unmark all text in current buffer.
  3332.  
  3333.           cut:                cut the marked text to the block buffer.  The
  3334.                               marked text is deleted from the file.  
  3335.  
  3336.           copy:               copy the marked text to the block buffer. 
  3337.                               The marked text is NOT deleted from the file.
  3338.  
  3339.           paste:              pastes the contents of the block buffer into
  3340.                               the text at the current position.  If the
  3341.                               contents were linemarked, the contents will
  3342.                               be pasted, as lines, above the current line. 
  3343.  
  3344.           paste_replace:      pastes the contents of the block buffer at
  3345.                               the current location, overwriting the needed
  3346.                               amount of space.  This is only valid when the
  3347.                               paste buffer is Line or Vertical marked.
  3348.  
  3349.           block_move:         moves the currently marked blocked of text to
  3350.                               the cursor position.
  3351.  
  3352.           block_copy:         copies the currently marked blocked of text
  3353.                               to the cursor position.
  3354.  
  3355.           block_delete:       deletes the currently marked block of text to
  3356.                               the block buffer; identical to cut.
  3357.  
  3358.  
  3359.  
  3360.  
  3361.                              Bingo 2.01 Reference Manual
  3362.                                           55
  3363.  
  3364.  
  3365.  
  3366.  
  3367.           block_save:         writes the currently marked text to a file.
  3368.  
  3369.           swap_buf_and_block: takes the currently marked portion, and swaps
  3370.                               it with the current contents of the paste
  3371.                               buffer.  The two blocks need not be of the
  3372.                               same type.
  3373.  
  3374.           report_bsize:       reports the number of lines and characters
  3375.                               (line breaks in point marked blocks count as
  3376.                               one character) the currently marked block
  3377.                               spans.
  3378.  
  3379.           name_buffer:        allows you to change the current paste
  3380.                               buffer.  <return> specifies the default
  3381.                               buffer, and 'a'-'z' specify their respective
  3382.                               buffers.
  3383.  
  3384.           buffer_info:        displays various pertinent information about
  3385.                               all the paste buffers.
  3386.  
  3387.           look_buffer:        displays the contents of the current buffer
  3388.                               in a non-editable window.
  3389.  
  3390.           cut_append:         works exactly like 'Cut', except it appends
  3391.                               the marked text to the current contents of
  3392.                               the buffer.  The text in the buffer and the
  3393.                               marked text must be of the same type.
  3394.  
  3395.           copy_append:        just as 'Cut_append', but performs a copy
  3396.                               instead.
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.                              Bingo 2.01 Reference Manual
  3420.                                           56
  3421.  
  3422.  
  3423.  
  3424.  
  3425.           Utilities
  3426.           ---------
  3427.  
  3428.           entab:              compresses the linemarked region specified or
  3429.                               the entire file by converting spaces to tabs.
  3430.  
  3431.           indent_tab:         compresses the leading spaces of the linemark
  3432.                               region specified or the entire file by
  3433.                               converting into the proper tabs.  Rounds to
  3434.                               the nearest tab stop, thus "normalizing" the
  3435.                               indention to tab stops.
  3436.  
  3437.           detab:              expands the linemarked region specified or
  3438.                               the entire file by converting tabs to spaces.
  3439.  
  3440.           shift_block:        shifts the specified linemarked region the
  3441.                               number of columns specified.  Positive
  3442.                               numbers indicate right-shifting, negative
  3443.                               numbers, left-shifting.  The character 't' is
  3444.                               used to signify tab widths: '-3t' shifts the
  3445.                               block left 3 tabwidths.
  3446.  
  3447.           lcase_block:        lowercases the linemarked region.
  3448.  
  3449.           ucase_block:        uppercases the linemarked region.
  3450.  
  3451.           fcase_block:        flips the case of the linemarked region.
  3452.  
  3453.           word_count:         counts the words in the linemarked region,
  3454.                               default the whole file.
  3455.  
  3456.           strip_highbit:      strips the 8th bit in the linemarked region,
  3457.                               default the whole file.
  3458.  
  3459.           sort_block:         sorts block, ascending or descending, on a
  3460.                               certain column.
  3461.  
  3462.           reform_para:        reformats a block of text to conform to the
  3463.                               right margin; a paragraph is defined as text
  3464.                               between blank lines.  The total amount of
  3465.                               text contained in a single paragraph cannot
  3466.                               be larger than 30000 characters.
  3467.  
  3468.           repeat:             repeats a keystroke n times.  If n is '*',
  3469.                               the function repeats until a search fails. 
  3470.                               The function halts repetition on a search
  3471.                               failure.
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.                              Bingo 2.01 Reference Manual
  3478.                                           57
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.           dup_line:           duplicates the current line and increments
  3485.                               cursor to the next line.
  3486.  
  3487.           align:              slides the linemarked region left or right to
  3488.                               match indentation with the line immediately
  3489.                               above the first marked line.  If not lines
  3490.                               are marked, the current line is aligned.
  3491.  
  3492.           match_delim:        finds the proper match for a delimiter. 
  3493.                               Delimiters include 'begin'/'end' to help
  3494.                               Pascal programmers, as well as '({[<'.
  3495.  
  3496.           time_stamp:         inserts the current date and time into the
  3497.                               text.
  3498.  
  3499.           fill_block:         fills a vertically marked block with a
  3500.                               specified character.
  3501.  
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.                              Bingo 2.01 Reference Manual
  3536.                                           58
  3537.  
  3538.  
  3539.  
  3540.  
  3541.           Extra Operations
  3542.           ----------------
  3543.  
  3544.           help:                    views the predefined help file
  3545.                                    BINGO.HLP.  This file must be located in
  3546.                                    the same directory as BINGO.EXE.
  3547.  
  3548.           info:                    pops up an info window, providing
  3549.                                    information on current files in the
  3550.                                    ring.
  3551.  
  3552.           pick_exec:               this allows you to pick a function
  3553.                                    descriptor and have it executed.
  3554.  
  3555.           quit_and_save_status:    this function saves the current status
  3556.                                    of Bingo as well as the current files,
  3557.                                    so that the next time Bingo is invoked,
  3558.                                    you will be given the option to pick up
  3559.                                    where you left off.
  3560.  
  3561.           global:                  this allows you to execute any keystroke
  3562.                                    globally, throughout all the files in
  3563.                                    the ring.  
  3564.  
  3565.           query_quote:             inserts an integer or sequence of
  3566.                                    integers as its raw ASCII character. 
  3567.                                    The decimal values must be comma
  3568.                                    delimited.
  3569.  
  3570.           ascii_table:             pops up a display of all Ascii
  3571.                                    characters.  By hitting Return on a
  3572.                                    character, you add it to the string. 
  3573.                                    When you hit Escape, the string is
  3574.                                    inserted into the text. 
  3575.  
  3576.           toggle_display:          toggles the display size between 25
  3577.                                    lines and 43/50 lines.  Will in all
  3578.                                    likelihood screw up the cursor shape,
  3579.                                    since the scan line counts will change.
  3580.  
  3581.           load_profile:            loads the profile file of your choice,
  3582.                                    searching first the current directory
  3583.                                    then Bingo's home directory.  Prompts to
  3584.                                    see if you wish to load a keyset file.
  3585.  
  3586.           write_profile:           saves the text settings of the active
  3587.                                    buffer to the profile file of your
  3588.                                    choice in either the current directory
  3589.                                    or Bingo's home directory.  Settings
  3590.                                    include:
  3591.  
  3592.  
  3593.                              Bingo 2.01 Reference Manual
  3594.                                           59
  3595.  
  3596.  
  3597.  
  3598.  
  3599.                                    &ins=1    (insert mode, 1=yes, 0=no)
  3600.                                    &tabs=5   (tabsize)
  3601.                                    &wrap=1   (wordwrap)
  3602.                                    &indent=1 (autoindention mode)
  3603.                                    &cmode=0  (C mode, 0=off, 0=mode 1, etc)
  3604.                                    &rmarg=65 (right margin)
  3605.                                    &smart=0  (smart tabs on?)
  3606.                                    &match=0  (matching mode)
  3607.                                    &bspace=0 (backspace mode)
  3608.  
  3609.                                    You are also given the option to save
  3610.                                    the entire keyset file, i.e. all key &
  3611.                                    mouse assignments, as well as macros.
  3612.            
  3613.           version_info:            displays various version information and
  3614.                                    the name of the person this copy is
  3615.                                    registered to, if it is a registered
  3616.                                    copy.
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.                              Bingo 2.01 Reference Manual
  3652.                                           60
  3653.  
  3654.  
  3655.  
  3656.  
  3657.           System Operations
  3658.           -----------------
  3659.  
  3660.           chdir:              change the currently logged directory.
  3661.  
  3662.           exec_command:       execute a DOS command, while leaving Bingo
  3663.                               completely resident in memory.
  3664.  
  3665.           shell:              shell to DOS, leaving Bingo completely
  3666.                               resident in memory.
  3667.  
  3668.           swap_execute:       execute a DOS command while swapping Bingo
  3669.                               out.  This will cause Bingo to save copies of
  3670.                               the buffers as well as state information, and
  3671.                               leave behind an ~10k kernel.
  3672.  
  3673.           swap_shell:         shell to DOS while swapping as above.
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.                              Bingo 2.01 Reference Manual
  3710.                                           61
  3711.  
  3712.  
  3713.  
  3714.  
  3715.           Macros
  3716.           ------
  3717.  
  3718.           define_scrap:       start scrap macro definition.  
  3719.  
  3720.           onekey_def:         start single-key macro definition.
  3721.  
  3722.           twokey_def:         start two-key macro definition.
  3723.  
  3724.           scrap:              execute the scrap macro.
  3725.  
  3726.           single_key_save:    save a single macro to a file for later
  3727.                               recall.  Saves the key it is attached to
  3728.                               also.
  3729.  
  3730.           single_key_load:    load a single macro from a file.  Overwrites
  3731.                               the current definition for the key, if it has
  3732.                               one.
  3733.  
  3734.           key_set_save:       saves entire keyset, including macros, but
  3735.                               not the scrap.
  3736.  
  3737.           key_set_load:       load entire keyset.
  3738.  
  3739.           run_macro_file:     runs a macro from a file saved with
  3740.                               single_key_save.
  3741.  
  3742.           undefine_key:       undefines a key.
  3743.  
  3744.                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  3745.                !!!!!                                         !!!!!
  3746.                !!!!! All of these functions will end a macro !!!!!
  3747.                !!!!!        being currently defined          !!!!!
  3748.                !!!!!                                         !!!!!
  3749.                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  3750.  
  3751.           end_macro:          ends the recording of a current macro. 
  3752.                               Mostly useless, but it made for a useful menu
  3753.                               entry.
  3754.  
  3755.           key_set_impress:    take the current keyset, all key assignments,
  3756.                               macros, mouse assignments, and impress it on
  3757.                               BE.EXE.
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.                              Bingo 2.01 Reference Manual
  3768.                                           62
  3769.  
  3770.  
  3771.  
  3772.  
  3773.           Windows
  3774.           -------
  3775.  
  3776.           window_edit:        this function ask for a filename, then splits
  3777.                               the window and essentially performs and
  3778.                               edit_file function for the requested
  3779.                               filename.
  3780.  
  3781.           window_load:        works like window_edit, except it forces a
  3782.                               reload of the named file.
  3783.  
  3784.           window_split:       this simply splits the current window in two
  3785.                               and uses the current file for both.
  3786.  
  3787.           window_vertical:    splits the current window vertically. 
  3788.                               Windows can only be split so once.
  3789.  
  3790.           window_close:       closes the current window and expands the
  3791.                               above window to use its space.
  3792.  
  3793.           window_zoom:        toggles the display between zoomed mode. 
  3794.                               When the display is zoomed, the current
  3795.                               window takes up the entire display, but Bingo
  3796.                               'remembers' the rest of the windows and will
  3797.                               restore them when zoom mode is toggled again.
  3798.  
  3799.           window_one:         this function makes the current window the
  3800.                               only window, wiping out all other windows.
  3801.  
  3802.           window_next:        this moves to the next window down, or wraps
  3803.                               to the top window if necessary.
  3804.  
  3805.           window_previous:    this moves to the next window up, or wraps to
  3806.                               the bottom if necessary.
  3807.  
  3808.           window_top:         jumps to the topmost, leftmost window.
  3809.  
  3810.           window_bottom:      jumps to the bottom-most, rightmost window.
  3811.  
  3812.           window_resize:      this allows you to resize the current window
  3813.                               (and its left or right sibling, if it exists)
  3814.                               and the window below (and *its* left or right
  3815.                               sibling, if it exists) by 'rubberbanding' the
  3816.                               current status line up and down.
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.                              Bingo 2.01 Reference Manual
  3826.                                           63
  3827.  
  3828.  
  3829.  
  3830.  
  3831.           Printing
  3832.           --------
  3833.  
  3834.           print_file:         print the current file, or a marked block if
  3835.                               there is one, using the current printer
  3836.                               settings, to the current destination. 
  3837.                               Whenever Bingo encounters a formfeed
  3838.                               character, it will assume that is the start
  3839.                               of a new page, and start the remainder of the
  3840.                               line at the left margin.
  3841.  
  3842.           send_lf:            send a line feed character to the
  3843.                               destination.
  3844.  
  3845.           send_ff:            send a formfeed character to the destination
  3846.  
  3847.           send_sequence:      send a sequence of character values to the
  3848.                               printer; e.g.
  3849.                                    12,12,12,12,12
  3850.                               sends a series of 5 ASCII 12's (decimal) to
  3851.                               the destination
  3852.  
  3853.  
  3854.  
  3855.  
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.                              Bingo 2.01 Reference Manual
  3884.                                           64
  3885.  
  3886.  
  3887.  
  3888.  
  3889.           Error Parsing and Undo
  3890.           ----------------------
  3891.  
  3892.           setup_err_parse:    this function will prompt you for a filename. 
  3893.                               Bingo will from then on use the named file as
  3894.                               the error file.  This must be called before
  3895.                               next_error, prev_error, or last_error are
  3896.                               called.
  3897.  
  3898.           next_error:         moves, within the current window, to the next
  3899.                               error as found in the current error file.  If
  3900.                               no more errors can be found, Bingo will say
  3901.                               so, and display the last non-blank line in
  3902.                               the error file.  Otherwise, Bingo will edit
  3903.                               the appropriate file into the current window,
  3904.                               as well as highlighting the line in the error
  3905.                               file being referenced.
  3906.  
  3907.           prev_error:         same as error except it moves backward
  3908.                               through the error file.
  3909.  
  3910.           last_error:         redisplays the last error message, if there
  3911.                               was one.
  3912.  
  3913.           rotate_kill:        pops up the current kill stack and allows you
  3914.                               to arbitrarily move a line of text to the top
  3915.                               of the stack.
  3916.  
  3917.           unkill:             inserts the top member of the stack above the
  3918.                               current line.  Removes the top member from
  3919.                               the stack.
  3920.  
  3921.           paste_kill:         inserts the top member of the stack above the
  3922.                               current line.  Leaves the stack alone.
  3923.  
  3924.           restore_line:       restores the current line to its former form.
  3925.  
  3926.  
  3927.  
  3928.  
  3929.  
  3930.  
  3931.  
  3932.  
  3933.  
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.  
  3940.  
  3941.                              Bingo 2.01 Reference Manual
  3942.                                           65
  3943.  
  3944.  
  3945.  
  3946.  
  3947.           Configuration
  3948.           -------------
  3949.  
  3950.           save_settings:      saves the current config settings to the
  3951.                               image of BINGO.EXE on disk.
  3952.  
  3953.           conf_color:         configure the color settings.  You select the
  3954.                               color you are interested in by pressing the
  3955.                               appropriate color.  Then, by watching the
  3956.                               bottom line on the screen and pressing the up
  3957.                               and down arrow keys for the foreground and
  3958.                               the pageup and pagedown keys for the
  3959.                               background, you select the color you want. 
  3960.                               Pressing return will select the color.  For
  3961.                               the overscan (border) attribute, only the
  3962.                               background attribute matters.
  3963.  
  3964.           conf_lfs:           alter the lfs-only setting.  If on, this
  3965.                               setting has Bingo write files with lines
  3966.                               separated by LF's only, in the UNIX fashion. 
  3967.                               Otherwise, Bingo uses CR-LF pairs to delimit
  3968.                               lines.
  3969.  
  3970.           conf_backups:       allows you to specify the extensions Bingo
  3971.                               uses to automatically create backup files. 
  3972.                               If no extension is given, no backups are
  3973.                               created.
  3974.  
  3975.           conf_eof:           alter whether Bingo writes a EOF character at
  3976.                               the end of files (^Z).
  3977.  
  3978.           conf_tabexpand:     configure whether Bingo automatically expands
  3979.                               tabs to spaces when reading files.  Not
  3980.                               recommended, as it slows file IO down quite a
  3981.                               bit.  Note: as of version 2.01, Bingo will no
  3982.                               longer automatically entab the file as it
  3983.                               writes it.
  3984.  
  3985.           conf_search:        allows you to predetermine which flags
  3986.                               (I/G/B/etc...) will be set initially for a
  3987.                               search attempt.
  3988.  
  3989.           conf_stripping:     configure whether Bingo strips the high bit
  3990.                               of characters when reading.  Only really
  3991.                               useful when reading Wordstar files.
  3992.  
  3993.           conf_rmargin:       set the right margin.  Affects paragraph
  3994.                               reformatting and word wrap.  This changes the
  3995.                               current buffer's setting and the global
  3996.                               setting.
  3997.  
  3998.  
  3999.                              Bingo 2.01 Reference Manual
  4000.                                           66
  4001.  
  4002.  
  4003.  
  4004.  
  4005.           conf_autoindent:    set whether Bingo uses autoindent mode. 
  4006.                               Affects paragraph reformatting and word wrap. 
  4007.                               This changes both the current buffer's
  4008.                               setting and the global setting.
  4009.  
  4010.           conf_wordwrap:      set the word wrap mode.  This changes both
  4011.                               the current buffer's setting and the global
  4012.                               setting.
  4013.  
  4014.           conf_insert:        whether Bingo is in insert/overwrite mode. 
  4015.                               This changes both the current buffer's
  4016.                               setting and the global setting.
  4017.  
  4018.           conf_tabsize:       set the tabsize.  This changes both the
  4019.                               current buffer's setting and the global
  4020.                               setting.
  4021.  
  4022.           conf_backspace:     configure the backspace mode:
  4023.                                    1. Delete single chars
  4024.                                    2. Delete spaces back to tab setting
  4025.                                    3. Delete spaces to left margin
  4026.                               This changes both the current buffer's
  4027.                               setting and the global setting.
  4028.  
  4029.           conf_macro_death:   set whether a keystroke interrupts macros. 
  4030.                               If on, this will slow things down a bit, but
  4031.                               can prevent runaway macros.
  4032.  
  4033.           conf_cmode:         configure whether Bingo uses C Mode on *.c
  4034.                               and *.h files.  Allows you to choose between
  4035.                               two different modes of C indention:
  4036.  
  4037.                          for(i=0;i<10;i++){   and    for(i=0;i<10;i++)
  4038.                               ...stuff...            {
  4039.                          }                                ...stuff...
  4040.                                                      }
  4041.                               This changes both the current buffer's
  4042.                               setting and the global setting.
  4043.  
  4044.           conf_sound:         allows you to set the frequency of the beep
  4045.                               Bingo uses.  Setting it to zero will
  4046.                               effectively turn off the sound.
  4047.  
  4048.           conf_mdelay:        allows you to specify the timing delay
  4049.                               between repetitions of a function(s) being
  4050.                               executed while a mouse button is held down. 
  4051.                               For example, on reasonably quick machines,
  4052.                               paging down while holding the mouse button
  4053.                               down on one of the status line "hotspots"
  4054.                               occurred so fast with version 2.0 so as to be
  4055.                               useless.  
  4056.  
  4057.                              Bingo 2.01 Reference Manual
  4058.                                           67
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.           conf_button_wait:   allows you to configure, in milliseconds, the
  4065.                               amount of delay Bingo will wait for the
  4066.                               second click of a double click.
  4067.  
  4068.           conf_shadow:        silly function, configures whether Bingo uses
  4069.                               "shadow" boxes.  Play with it.
  4070.  
  4071.           conf_win_close:     controls whether Bingo automatically closes a
  4072.                               window when the file is closed.
  4073.  
  4074.           conf_def_ext:       allows you to specify the file extensions
  4075.                               Bingo will attempt to use when you specify a
  4076.                               filename without '.'.  The extensions are
  4077.                               checked in order.
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.  
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.  
  4099.  
  4100.  
  4101.  
  4102.  
  4103.  
  4104.  
  4105.  
  4106.  
  4107.  
  4108.  
  4109.  
  4110.  
  4111.  
  4112.  
  4113.  
  4114.  
  4115.                              Bingo 2.01 Reference Manual
  4116.                                           68
  4117.  
  4118.  
  4119.  
  4120.  
  4121.           conf_video_mode:    allows you to choose from between three
  4122.                               screen handling options:
  4123.                               - autodetect with retrace checking
  4124.                               - autodetect with no retrace checking
  4125.                               - 43 or 50 line mode, if supported
  4126.                               Retrace checking will only be in effect if
  4127.                               there are only 25 lines to be displayed. 
  4128.                               Note:  this only changes the default
  4129.                               *startup* mode -- it changes nothing except
  4130.                               possibly the retrace mode while Bingo
  4131.                               continues to run.  To make the change take
  4132.                               effect, you will have to quit Bingo
  4133.                               completely and restart it.
  4134.  
  4135.           conf_cursor:        set non-blinking block cursor.  Good for
  4136.                               laptop users.  Despite all efforts otherwise,
  4137.                               this is not a sure bet on all video systems.
  4138.  
  4139.           conf_prn:           set the printer destination, between the
  4140.                               default serial port, the default parallel
  4141.                               port, or a file.
  4142.  
  4143.           conf_tmarg:         set the top margin, in terms of number of
  4144.                               lines.
  4145.  
  4146.           conf_bmarg:         set the bottom margin, in terms of number of
  4147.                               lines.
  4148.  
  4149.           conf_lmarg:         set the left margin which will be used when
  4150.                               printing, in terms of spaces.
  4151.  
  4152.           conf_lines_per:     set the lines per page, counting the top
  4153.                               margin.
  4154.  
  4155.           conf_null:          this sets the value used to replace ASCII 0's
  4156.                               with in files for file IO.  ASCII 0's cannot
  4157.                               directly be entered in Bingo due to the
  4158.                               storage scheme employed.  Therefore, you can
  4159.                               define an ASCII value from 128-255 to be used
  4160.                               in conversion.  On file input, any 0's found
  4161.                               will be replaced with this value.  On output,
  4162.                               any characters with this replacement value
  4163.                               will be converted to 0's.  
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.                              Bingo 2.01 Reference Manual
  4174.                                           69
  4175.  
  4176.  
  4177.  
  4178.  
  4179.           conf_ctrl_display:  Normally, Bingo displays any control
  4180.                               characters in a file by simply displaying its
  4181.                               character picture as defined by the video
  4182.                               card.  If the Ctrl_display is toggled on,
  4183.                               however, any control characters which have
  4184.                               ctrl-<alpha> equivalents (such as ASCII
  4185.                               05=control-E) will be displayed as the
  4186.                               character equivalent, and then highlighted as
  4187.                               if they were marked.  Characters which have
  4188.                               an ASCII value greater than 127 will simply
  4189.                               be highlighted.  Further, the end of each
  4190.                               line will be displayed as a left arrowhead. 
  4191.                               This is only allowed when retrace checking is
  4192.                               disabled.
  4193.  
  4194.           conf_kill_size:     alters the size of the kill buffer.
  4195.  
  4196.           conf_cut_stack:     allows you to choose whether text about to be
  4197.                               discarded from the paste buffer should be
  4198.                               placed on the stack.  If this is on, this
  4199.                               will slow block operations down a bit, but it
  4200.                               is a nice safety feature.
  4201.  
  4202.           conf_auto_cut:      allows you to toggle how the 'cut' & 'copy'
  4203.                               functions respond when no block has been
  4204.                               marked.  If auto cut is active, these
  4205.                               functions will cut (or copy) the current
  4206.                               line.  If auto cut is not active, the current
  4207.                               line will be Linemarked.
  4208.  
  4209.           conf_smart_tabs:    allows you to specify whether or not "Smart"
  4210.                               tabs are active.  Smart tabs cause the
  4211.                               'insert_tab' function to tab over to the same
  4212.                               column as the next nonspace character on the
  4213.                               line previous.  This changes both the current
  4214.                               buffer's setting and the global setting.
  4215.  
  4216.           conf_matching:      configures matching mode.  If matching mode
  4217.                               is active, entering a '[{<(' character will
  4218.                               cause its matching close member to be entered
  4219.                               automatically.  This changes both the current
  4220.                               buffer's setting and the global setting.
  4221.  
  4222.           conf_trail:         allows you to configure whether or not Bingo
  4223.                               strips trailing spaces.
  4224.  
  4225.           conf_bounce:        allows you what cursor movement paradigm
  4226.                               Bingo uses.  If Bounce mode is active, Bingo
  4227.                               views the entire document as one long string
  4228.                               of characters.  Thus, you cannot move off of
  4229.                               exiting text.  Further, the cursor will
  4230.  
  4231.                              Bingo 2.01 Reference Manual
  4232.                                           70
  4233.  
  4234.  
  4235.  
  4236.  
  4237.                               automatically wrap at the end of lines.  If
  4238.                               Bounce mode is turned off, cursor movement is
  4239.                               by the more traditional method, where you can
  4240.                               move any where (horizontally) you wish.
  4241.           conf_key_bios:      this governs whether or not Bingo will use
  4242.                               the Extended Keyboard Bios if it is found. 
  4243.                               On some machines, Bingo may identify it
  4244.                               incorrectly, or there may be compatibility
  4245.                               problems.  This function allows you to tell
  4246.                               Bingo to disregard the extended Bios, even if
  4247.                               it is found.  If this is on, the two sets of
  4248.                               arrow keys, for example, will be recognized
  4249.                               as different.  They will therefore have to be
  4250.                               defined separately in your keyboard config
  4251.                               file.
  4252.  
  4253.           conf_erronly:       allows you to tell Bingo to further restrict
  4254.                               valid error lines to those containing the
  4255.                               word 'error' (any case).  
  4256.  
  4257.           conf_mouse:         controls whether or not Bingo uses a Mouse,
  4258.                               if it finds one.  Trust me, you'll like it!!!
  4259.  
  4260.           conf_profile:       controls whether Bingo will check for, and
  4261.                               load if found, the profile file of a file's
  4262.                               file extension each time a file is loaded.
  4263.  
  4264.  
  4265.  
  4266.  
  4267.  
  4268.  
  4269.  
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275.  
  4276.  
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.  
  4288.  
  4289.                              Bingo 2.01 Reference Manual
  4290.                                           71
  4291.  
  4292.  
  4293.  
  4294.  
  4295.                                   License Agreement
  4296.                                   -----------------
  4297.  
  4298.                This section tells you is how to become a registered user
  4299.           once you decide that you like the program and want to use it on a
  4300.           regular basis.
  4301.  
  4302.                Bingo is distributed under the shareware marketing concept;
  4303.           it is not free software and it has not been released to the
  4304.           public domain. The documentation, executable images, and all
  4305.           other files distributed with Bingo are copyrighted.
  4306.  
  4307.                Shareware is a way of distributing computer software that
  4308.           allows you to try out a program before you purchase it. Programs
  4309.           distributed as shareware typically give you some period of time
  4310.           to use the program and evaluate its usefulness to you. If the
  4311.           program doesn't meet your needs, you're under no obligation to
  4312.           pay for it. If you do find the program useful and wish to
  4313.           continue using it on a regular basis, the shareware program's
  4314.           author usually requests that you pay for the program by sending
  4315.           him or her a completed registration form and payment. This is the
  4316.           approach I have taken in making Bingo available to the public.
  4317.  
  4318.                If you find Bingo to be a useful addition to your software
  4319.           library, you're requested to become a registered user by
  4320.           completing the enclosed registration form and returning it along
  4321.           with the indicated license/registration fee. I hope that you will
  4322.           agree that the $30.00 license fee is a small price to pay for the
  4323.           continued use of the program. It requires a large investment to
  4324.           develop, market, and support a product of this complexity. Your
  4325.           support in the form of a license/registration fee will continue
  4326.           to make good software available at low prices.
  4327.  
  4328.                Quantity discounts are available to business, government,
  4329.           and other organizations that wish to use Bingo on multiple
  4330.           computer systems. Bingo is also available at very special rates
  4331.           to organizations who wish to use it in promotional campaigns.
  4332.           Write the author for information on using the program this way.
  4333.  
  4334.                You are granted a limited license to use and examine Bingo
  4335.           on a trial basis to determine if Bingo is suitable for your
  4336.           needs. If you find Bingo useful and continue to use it on a
  4337.           regular basis, you should complete and return the registration
  4338.           form along with the indicated license/registration fee.
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.                              Bingo 2.01 Reference Manual
  4348.                                           72
  4349.  
  4350.  
  4351.  
  4352.  
  4353.                You are encouraged to make copies of Bingo for the trial use
  4354.           of other individuals and organizations, subject to the following
  4355.           restrictions:
  4356.  
  4357.                1) All Bingo distribution files must be copied in unmodified
  4358.                form.
  4359.                2) You may not include any other files with the distributed
  4360.                copy.
  4361.                3) You may not request compensation of any sort for
  4362.                providing the copy. This restriction does not apply to
  4363.                computer clubs and user groups who distribute software to
  4364.                their members for a nominal fee.
  4365.  
  4366.                You may not distribute Bingo with any other product or
  4367.           service without written permission of the author.
  4368.  
  4369.                Bingo may be included on electronic bulletin board systems
  4370.           for downloading by users of the bulletin board provided the above
  4371.           restrictions are met.
  4372.  
  4373.                Bingo and all accompanying materials are provided "as is"
  4374.           without warranty of any kind. The entire risk of using Bingo is
  4375.           assumed by you.
  4376.  
  4377.                The author, Christopher R. S. Schanck, makes no warranty of
  4378.           any kind, expressed or implied, including but not limited to any
  4379.           warranties of merchantability and fitness for a particular
  4380.           purpose.
  4381.  
  4382.                In no event will the author, Christopher R. S. Schanck, be
  4383.           liable for any damages whatsoever arising out of your use or
  4384.           inability to use the program.
  4385.  
  4386.                If you use Bingo on a regular basis, you should complete the
  4387.           registration form at the end of this document and return it along
  4388.           with the indicated license/registration fee. Registration gives
  4389.           you the right to use the software as documented in the license.
  4390.  
  4391.                The registration fee of $30.00 establishes you as a
  4392.           registered user of Bingo. You will receive the next version of
  4393.           Bingo free.  After that, you will be notified of each subsequent
  4394.           version, and they will be available for a five (5) dollar fee.
  4395.  
  4396.                When you submit your registration fee, however, you can
  4397.           request that the author mail you a copy of the current version of
  4398.           Bingo and accompanying documentation on disk (3.5" or 5.25") for
  4399.           free. This offer is made for mailing addresses in the continental
  4400.           United States only.
  4401.  
  4402.  
  4403.  
  4404.  
  4405.                              Bingo 2.01 Reference Manual
  4406.                                           73
  4407.  
  4408.  
  4409.  
  4410.  
  4411.                             Registration Form - Bingo 2.01
  4412.                             ------------------------------
  4413.  
  4414.           Remit to:            Christopher R.S. Schanck
  4415.                                       PO Box 279
  4416.                                    Hanover MD 21076
  4417.  
  4418.                                       Bingo 2.01
  4419.  
  4420.           Bingo Registration ................ @ $ 30.00 each  $ _____
  4421.  
  4422.                   Disk size, circle one: (   3.5"   /   5.25"   )
  4423.  
  4424.           Bingo printed Documentation ....... @ $ 15.00 each  $ _____
  4425.  
  4426.                                                     Subtotal  $ _____
  4427.  
  4428.           Overseas shipping ................. @ $ 10.00/item  $ _____
  4429.  
  4430.                                             Total (U.S.Funds) $ _____
  4431.               
  4432.           Name: _____________________________________________________
  4433.  
  4434.           Company: __________________________________________________
  4435.  
  4436.           Address: __________________________________________________
  4437.  
  4438.           ___________________________________________________________
  4439.  
  4440.           ___________________________________________________________
  4441.  
  4442.           Day Phone: _________________________ 
  4443.  
  4444.           Eve: _______________________________
  4445.  
  4446.  
  4447.                        Prices subject to change without notice.
  4448.  
  4449.  
  4450.  
  4451.  
  4452.  
  4453.  
  4454.  
  4455.  
  4456.  
  4457.  
  4458.  
  4459.  
  4460.  
  4461.  
  4462.  
  4463.                              Bingo 2.01 Reference Manual
  4464.                                           74
  4465.  
  4466.  
  4467.  
  4468.  
  4469.                             Registration Form - Continued
  4470.  
  4471.           I acquired Bingo 2.01 from
  4472.  
  4473.           [ ] - Friend                  [ ] - Computer Club
  4474.           [ ] - Electronic BBS          [ ] - Other - Please Specify
  4475.                                         _____________________________
  4476.  
  4477.           I would also appreciate any input you would care to give
  4478.           concerning Bingo. If you have any ideas or comments that would
  4479.           make Bingo a better program, then please let me know.
  4480.  
  4481.  
  4482.  
  4483.  
  4484.  
  4485.  
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.  
  4495.  
  4496.  
  4497.  
  4498.  
  4499.  
  4500.  
  4501.  
  4502.  
  4503.  
  4504.  
  4505.  
  4506.  
  4507.  
  4508.  
  4509.  
  4510.  
  4511.  
  4512.  
  4513.  
  4514.  
  4515.  
  4516.  
  4517.  
  4518.  
  4519.  
  4520.  
  4521.                              Bingo 2.01 Reference Manual
  4522.                                           75
  4523.  
  4524.  
  4525.  
  4526.  
  4527.                                       The Author
  4528.                                       ----------
  4529.  
  4530.                I received my M.S. in Computer Science from The Ohio State
  4531.           University in March of 1990, and am now employed by a large
  4532.           engineering/manufacturing firm in the Baltimore area.  I was born
  4533.           in a steel town in Eastern Pennsylvania, and attended The
  4534.           Pennsylvania State University as an undergraduate, graduating in
  4535.           May of 1988. I hold a first-degree Black Belt in Tae Kwon Do, and
  4536.           I am an avid reader of science-fiction. 
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.  
  4546.  
  4547.  
  4548.  
  4549.  
  4550.  
  4551.  
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.  
  4561.  
  4562.  
  4563.  
  4564.  
  4565.  
  4566.  
  4567.  
  4568.  
  4569.  
  4570.  
  4571.  
  4572.  
  4573.  
  4574.  
  4575.  
  4576.  
  4577.  
  4578.  
  4579.                              Bingo 2.01 Reference Manual
  4580.                                           76
  4581.  
  4582.  
  4583.  
  4584.  
  4585.                                    Acknowledgements
  4586.                                    ----------------
  4587.  
  4588.                There are many I must acknowledge for the inspiration for
  4589.           writing this program: family, friends, colleagues. In addition, I
  4590.           want to thank Borland for their excellent TurboC compiler, which
  4591.           I used to write Bingo; IBM for making my beloved baby, lo those
  4592.           many years ago; and all the other folks who wrote software I used
  4593.           to create Bingo.  Thanks to all my computer science professors,
  4594.           who instilled the knowledge to write such an application in me,
  4595.           often against my will.  I have to acknowledge the first shareware
  4596.           program I marketed, Navstar.  While Navstar is no longer a
  4597.           product of mine, I use it endlessly.  Without Navstar to work on,
  4598.           I would not have finished Bingo so quickly (or had so much
  4599.           opportunity to use it!).  I also thank the members of the
  4600.           Columbus Computer Society (CCS), particularly the members of the
  4601.           Programmer's SIG, several of whom served as Beta test people,
  4602.           putting their programs In Harm's Way as they tested features.
  4603.                Thanks to the folks at Home Box Office for running an
  4604.           endless amount of truly sad movies at all hours of the night to
  4605.           keep me company on some of the more involved programming
  4606.           adventures.  
  4607.                And mucho thanks to my premier beta-tester, Bob Boyken, who
  4608.           was also the first registrant of version 1.1a.  Bob provided me
  4609.           with much needed time, effort, and ideas, not to mention a help
  4610.           file.  His efforts, both in using Bingo regularly, and in testing
  4611.           things for me on particular hardware combinations, was nothing
  4612.           short of awesome.
  4613.  
  4614.  
  4615.  
  4616.  
  4617.  
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.  
  4627.  
  4628.  
  4629.  
  4630.  
  4631.  
  4632.  
  4633.  
  4634.  
  4635.  
  4636.  
  4637.                              Bingo 2.01 Reference Manual
  4638.                                           77
  4639.  
  4640.  
  4641.  
  4642.  
  4643.                                   Appendix A: Index
  4644.                                   -----------------
  4645.  
  4646.           abort . . . . . . . . . . . . . . . . . . . .  12, 13, 27, 35, 49
  4647.           abort_all . . . . . . . . . . . . . . . . . . . . . . . .  27, 49
  4648.           again . . . . . . . . . . . .  11, 16, 21, 26, 36, 38, 40, 51, 63
  4649.           align . . . . . . . . . . . . . . . . . . . . . . . . . 2, 33, 58
  4650.           ascii_table . . . . . . . . . . . . . . . . . . . . .  25, 35, 59
  4651.           back_space  . . . . . . . . . . . . . . . . . . . . . . .  46, 48
  4652.           back_tab  . . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4653.           begin_line  . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4654.           block_copy  . . . . . . . . . . . . . . . . . . . . . . .  32, 55
  4655.           block_delete  . . . . . . . . . . . . . . . . . . . . . .  32, 55
  4656.           block_load  . . . . . . . . . . . . . . . . . . . . . . . . .  50
  4657.           block_move  . . . . . . . . . . . . . . . . . . . . . . .  32, 55
  4658.           block_save  . . . . . . . . . . . . . . . . . . . . . . . . .  56
  4659.           bot_of_file . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4660.           bottom_of_block . . . . . . . . . . . . . . . . . . . . . . .  53
  4661.           bottom_of_screen  . . . . . . . . . . . . . . . . . . . . . .  53
  4662.           buffer_info . . . . . . . . . . . . . . . . . . . . . . .  32, 56
  4663.           carriage  . . . . . . . . . . . . . . . . . . . . . . . . . .  46
  4664.           center_line . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4665.           chdir . . . . . . . . . . . . . . . . . . . . . . . . . .  36, 61
  4666.           choose_file . . . . . . . . . . . . . . . . . . . . . . .  27, 49
  4667.           conf_auto_cut . . . . . . . . . . . . . . . . . . . . . . . .  70
  4668.           conf_autoindent . . . . . . . . . . . . . . . . . . . . . . .  67
  4669.           conf_backspace  . . . . . . . . . . . . . . . . . . . . . . .  67
  4670.           conf_backups  . . . . . . . . . . . . . . . . . . . . . . . .  66
  4671.           conf_bmarg  . . . . . . . . . . . . . . . . . . . . . . . . .  69
  4672.           conf_bounce . . . . . . . . . . . . . . . . . . . . . . . . .  70
  4673.           conf_button_wait  . . . . . . . . . . . . . . . . . . . . . .  68
  4674.           conf_cmode  . . . . . . . . . . . . . . . . . . . . . . . . .  67
  4675.           conf_color  . . . . . . . . . . . . . . . . . . . . . . . . .  66
  4676.           conf_ctrl_display . . . . . . . . . . . . . . . . . . . . . .  70
  4677.           conf_cursor . . . . . . . . . . . . . . . . . . . . . . . . .  69
  4678.           conf_cut_stack  . . . . . . . . . . . . . . . . . . . . .  44, 70
  4679.           conf_def_ext  . . . . . . . . . . . . . . . . . . . . . . . .  68
  4680.           conf_eof  . . . . . . . . . . . . . . . . . . . . . . . . . .  66
  4681.           conf_erronly  . . . . . . . . . . . . . . . . . . . . . . . .  71
  4682.           conf_insert . . . . . . . . . . . . . . . . . . . . . . . . .  67
  4683.           conf_key_bios . . . . . . . . . . . . . . . . . . . . . . . .  71
  4684.           conf_kill_size  . . . . . . . . . . . . . . . . . . . . .  44, 70
  4685.           conf_lfs  . . . . . . . . . . . . . . . . . . . . . . . . . .  66
  4686.           conf_lines_per  . . . . . . . . . . . . . . . . . . . . . . .  69
  4687.           conf_lmarg  . . . . . . . . . . . . . . . . . . . . . . . . .  69
  4688.           conf_macro_death  . . . . . . . . . . . . . . . . . . . . . .  67
  4689.           conf_matching . . . . . . . . . . . . . . . . . . . . . . . .  70
  4690.           conf_mdelay . . . . . . . . . . . . . . . . . . . . . . .  23, 67
  4691.           conf_mouse  . . . . . . . . . . . . . . . . . . . . . . . . .  71
  4692.           conf_null . . . . . . . . . . . . . . . . . . . . . . . . . .  69
  4693.           conf_prn  . . . . . . . . . . . . . . . . . . . . . . . . . .  69
  4694.  
  4695.                              Bingo 2.01 Reference Manual
  4696.                                           78
  4697.  
  4698.  
  4699.  
  4700.  
  4701.           conf_profile  . . . . . . . . . . . . . . . . . . . . . . . .  71
  4702.           conf_rmargin  . . . . . . . . . . . . . . . . . . . . . . . .  66
  4703.           conf_search . . . . . . . . . . . . . . . . . . . . . . . . .  66
  4704.           conf_shadow . . . . . . . . . . . . . . . . . . . . . . . . .  68
  4705.           conf_smart_tabs . . . . . . . . . . . . . . . . . . . . . . .  70
  4706.           conf_sound  . . . . . . . . . . . . . . . . . . . . . . . . .  67
  4707.           conf_stripping  . . . . . . . . . . . . . . . . . . . . . . .  66
  4708.           conf_tabexpand  . . . . . . . . . . . . . . . . . . . . . . .  66
  4709.           conf_tabsize  . . . . . . . . . . . . . . . . . . . . . . . .  67
  4710.           conf_tmarg  . . . . . . . . . . . . . . . . . . . . . . . . .  69
  4711.           conf_trail  . . . . . . . . . . . . . . . . . . . . . . . . .  70
  4712.           conf_video_mode . . . . . . . . . . . . . . . . . . . . . . .  69
  4713.           conf_wordwrap . . . . . . . . . . . . . . . . . . . . . . . .  67
  4714.           copy  . . . . . . 4, 5, 8, 28, 31, 32, 44, 50, 55, 56, 60, 70, 73
  4715.           copy_append . . . . . . . . . . . . . . . . . . . . . . . . .  56
  4716.           cur_file  . . . . . . . . . . . . . . . . . . . . . . . . . .  19
  4717.           cursor_down . . . . . . . . . . . . . . . . . . . . . . .  22, 53
  4718.           cursor_left . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4719.           cursor_right  . . . . . . . . . . . . . . . . . . . . . . . .  53
  4720.           cursor_up . . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4721.           cut . . . . . . . . . . . . . . . . .  31, 32, 44, 48, 55, 56, 70
  4722.           cut_append  . . . . . . . . . . . . . . . . . . . . . . . . .  56
  4723.           default_bspace  . . . . . . . . . . . . . . . . . . . . . . .  48
  4724.           default_del . . . . . . . . . . . . . . . . . . . . . . . . .  48
  4725.           define_scrap  . . . . . . . . . . . . . . . . . . . . . . . .  62
  4726.           del_bol . . . . . . . . . . . . . . . . . . . . . . .  26, 44, 47
  4727.           del_char  . . . . . . . . . . . . . . . . . . . . . . . .  46, 48
  4728.           del_eol . . . . . . . . . . . . . . . . . . . . . . .  26, 44, 46
  4729.           del_line  . . . . . . . . . . . . . . . . . . . . . .  26, 44, 46
  4730.           del_word  . . . . . . . . . . . . . . . . . . . . . . . .  26, 48
  4731.           delete_file . . . . . . . . . . . . . . . . . . . . . . .  28, 50
  4732.           detab . . . . . . . . . . . . . . . . . . . . . . . . . 1, 33, 57
  4733.           down_page . . . . . . . . . . . . . . . . . . . . . . . .  22, 53
  4734.           dup_line  . . . . . . . . . . . . . . . . . . . . . . . . . .  58
  4735.           edit_file . . . . . . . . . . . . . . . .  27, 28, 41, 43, 49, 63
  4736.           end_line  . . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4737.           end_macro . . . . . . . . . . . . . . . . . . . . . . . . . .  62
  4738.           entab . . . . . . . . . . . . . . . . . . . . . . . 1, 33, 57, 66
  4739.           exec_command  . . . . . . . . . . . . . . . . . . . . . .  36, 61
  4740.           extend_mark . . . . . . . . . . . . . . . . . . . . . . .  31, 55
  4741.           fcase_block . . . . . . . . . . . . . . . . . . . . . . . . .  57
  4742.           file  . 1, 2, 6-9, 12, 14-16, 18-20, 23, 27-31, 33-35, 40-44, 46,
  4743.                                  49-51, 53, 55-57, 59, 60, 62-66, 68-71, 77
  4744.           file_all  . . . . . . . . . . . . . . . . . . . . . . . . . .  49
  4745.           fill_block  . . . . . . . . . . . . . . . . . . . . . . . . .  58
  4746.           global  . . . . . . . . . . . . 6, 29, 35, 51, 52, 59, 66, 67, 70
  4747.           help  . . . . . . . .  1, 2, 5, 8, 12, 22, 24, 34, 44, 58, 59, 77
  4748.           indent_down . . . . . . . . . . . . . . . . . . . . . . . . .  54
  4749.           indent_up . . . . . . . . . . . . . . . . . . . . . . . . . .  54
  4750.           info  . . . . . . . . . . . . . 4, 12, 24, 32, 34, 36, 56, 59, 60
  4751.           insert_tab  . . . . . . . . . . . . . . . . . . . . . . .  46, 70
  4752.  
  4753.                              Bingo 2.01 Reference Manual
  4754.                                           79
  4755.  
  4756.  
  4757.  
  4758.  
  4759.           install . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 16
  4760.           jump  . . . . . . . . . . . . . . . . . . . . . .  30, 43, 53, 54
  4761.           jump_mark . . . . . . . . . . . . . . . . . . . . . . . . . .  54
  4762.           key_set_impress . . . . . . . . . . . . . . . . . . . . . . .  62
  4763.           key_set_load  . . . . . . . . . . . . . . . . . . . . . . . .  62
  4764.           key_set_save  . . . . . . . . . . . . . . . . . . . . . . . .  62
  4765.           last_error  . . . . . . . . . . . . . . . . . . . . . . . . .  65
  4766.           lcase_block . . . . . . . . . . . . . . . . . . . . . . . . .  57
  4767.           license . . . . . . . . . . . . . . . . . . . . . . . . 4, 72, 73
  4768.           line_mark . . . . . . . . . . . . . . . . . . . . . . . . . .  55
  4769.           load_file . . . . . . . . . . . . . . . . . .  18, 19, 27, 41, 49
  4770.           load_profile  . . . . . . . . . . . . . . . . . . . . . .  35, 59
  4771.           look_buffer . . . . . . . . . . . . . . . . . . . . . . .  32, 56
  4772.           macro . .  1, 2, 6, 15, 18, 19, 22, 29, 35, 38-40, 43, 52, 62, 67
  4773.           main_menu . . . . . . . . . . . . . . . . . . . . . . . .  11, 46
  4774.           match_delim . . . . . . . . . . . . . . . . . . . . . . . . .  58
  4775.           modify_save . . . . . . . . . . . . . . . . . . .  18, 19, 28, 49
  4776.           modify_save_all . . . . . . . . . . . . . . . . .  18, 19, 28, 49
  4777.           name_buffer . . . . . . . . . . . . . . . . . . . . . . .  32, 56
  4778.           next_error  . . . . . . . . . . . . . . . . . . . . .  19, 43, 65
  4779.           next_file . . . . . . . . . . . . . . . . . . . . . . . . . .  49
  4780.           next_word . . . . . . . . . . . . . . . . . . . . . . . .  26, 53
  4781.           onekey_def  . . . . . . . . . . . . . . . . . . . . . . . . .  62
  4782.           open_end  . . . . . . . . . . . . . . . . . . . . . . . . . .  19
  4783.           paste . . . . . . . . . . . . . .  31, 32, 36, 44, 55, 56, 65, 70
  4784.           paste_kill  . . . . . . . . . . . . . . . . . . . . . . .  44, 65
  4785.           paste_replace . . . . . . . . . . . . . . . . . . . . . .  32, 55
  4786.           pick_exec . . . . . . . . . . . . . . . . . . . . . . . . . .  59
  4787.           place_mark  . . . . . . . . . . . . . . . . . . . . . . . . .  54
  4788.           point_mark  . . . . . . . . . . . . . . . . . . . . . . .  22, 55
  4789.           prev_error  . . . . . . . . . . . . . . . . . . . . . . .  43, 65
  4790.           prev_file . . . . . . . . . . . . . . . . . . . . . . . . . .  49
  4791.           prev_word . . . . . . . . . . . . . . . . . . . . . . . .  26, 53
  4792.           print_file  . . . . . . . . . . . . . . . . . . . . . . .  42, 64
  4793.           query_quote . . . . . . . . . . . . . . . . . . . . . . . . .  59
  4794.           quit  . . . . . . . . . . . . . .  12, 27, 28, 34, 49, 51, 59, 69
  4795.           quit_all  . . . . . . . . . . . . . . . . . . . . . . . .  27, 49
  4796.           quit_and_save_status  . . . . . . . . . . . . . . . . . . . .  59
  4797.           reform_para . . . . . . . . . . . . . . . . . . . . . . . . .  57
  4798.           register  . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  4799.           rename_file . . . . . . . . . . . . . . . . . . . . . . .  27, 49
  4800.           repeat  . . . . . . . . . . . . . . . . . . . . . . 1, 38, 51, 57
  4801.           replace . . . . . . . . . . . . 1, 29, 31, 32, 35, 51, 52, 55, 69
  4802.           report_bsize  . . . . . . . . . . . . . . . . . . . . . .  32, 56
  4803.           restore_line  . . . . . . . . . . . . . . . . . . . . . .  44, 65
  4804.           rotate_kill . . . . . . . . . . . . . . . . . . . . . . .  44, 65
  4805.           run_macro_file  . . . . . . . . . . . . . . . . . . . . . . .  62
  4806.           save_all  . . . . . . . . . . . . . . . . . . . .  18, 19, 28, 49
  4807.           save_file . . . . . . . . . . . . . . . . . . . . . . . . . .  49
  4808.           save_settings . . . . . . . . . . . . . . . . . . . . . . . .  66
  4809.           scrap . . . . . . . . . . . . . . . . . . . . . . . . . .  39, 62
  4810.  
  4811.                              Bingo 2.01 Reference Manual
  4812.                                           80
  4813.  
  4814.  
  4815.  
  4816.  
  4817.           scroll_down . . . . . . . . . . . . . . . . . . . . . . . . .  54
  4818.           scroll_up . . . . . . . . . . . . . . . . . . . . . . . . . .  54
  4819.           search  . . . . . . . .  1, 2, 14, 19, 29, 35, 38, 51, 52, 57, 66
  4820.           search_macro  . . . . . . . . . . . . . . . . . . . . . . . .  52
  4821.           send_ff . . . . . . . . . . . . . . . . . . . . . . . . . . .  64
  4822.           send_lf . . . . . . . . . . . . . . . . . . . . . . . . . . .  64
  4823.           send_sequence . . . . . . . . . . . . . . . . . . . . . . . .  64
  4824.           setup_err_parse . . . . . . . . . . . . . . . . . . .  19, 43, 65
  4825.           shell . . . . . . . . . . . . . . . . . . . . . . . . . .  36, 61
  4826.           shift_block . . . . . . . . . . . . . . . . . . . . . . . . .  57
  4827.           show_marks  . . . . . . . . . . . . . . . . . . . . . . . . .  54
  4828.           single_key_load . . . . . . . . . . . . . . . . . . . . . . .  62
  4829.           single_key_save . . . . . . . . . . . . . . . . . . . . . . .  62
  4830.           snap_to_mouse_xy  . . . . . . . . . . . . . . . . . . . .  22, 54
  4831.           sort_block  . . . . . . . . . . . . . . . . . . . . . . . . .  57
  4832.           strip_highbit . . . . . . . . . . . . . . . . . . . . . . . .  57
  4833.           support . . . . . . . . . . . . . . . 1, 2, 5, 10, 24, 29, 38, 72
  4834.           swap_buf_and_block  . . . . . . . . . . . . . . . . . . . . .  56
  4835.           swap_execute  . . . . . . . . . . . . . . . . . .  18, 19, 36, 61
  4836.           swap_shell  . . . . . . . . . . . . . . . . . . . . . . .  36, 61
  4837.           switch_file . . . . . . . . . . . . . . . . . . . . . . .  28, 49
  4838.           time_stamp  . . . . . . . . . . . . . . . . . . . . . . . . .  58
  4839.           toggle_autoindent . . . . . . . . . . . . . . . . . . . . . .  46
  4840.           toggle_cmode  . . . . . . . . . . . . . . . . . . . . . .  45, 46
  4841.           toggle_display  . . . . . . . . . . . . . . . . . . . . . . .  59
  4842.           toggle_ins  . . . . . . . . . . . . . . . . . . . . . . . . .  46
  4843.           toggle_wrap . . . . . . . . . . . . . . . . . . . . . . . . .  46
  4844.           top_of_block  . . . . . . . . . . . . . . . . . . . . . . . .  53
  4845.           top_of_file . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4846.           top_of_screen . . . . . . . . . . . . . . . . . . . . . . . .  53
  4847.           twokey_def  . . . . . . . . . . . . . . . . . . . . . . . . .  62
  4848.           ucase_block . . . . . . . . . . . . . . . . . . . . . . . . .  57
  4849.           undefine_key  . . . . . . . . . . . . . . . . . . . . . . . .  62
  4850.           unkill  . . . . . . . . . . . . . . . . . . . . . . .  26, 44, 65
  4851.           unmark  . . . . . . . . . . . . . . . . . . . . . . . . . . .  55
  4852.           up_page . . . . . . . . . . . . . . . . . . . . . . . . . . .  53
  4853.           version_info  . . . . . . . . . . . . . . . . . . . . . . . 4, 60
  4854.           vertical_mark . . . . . . . . . . . . . . . . . . . . . . . .  55
  4855.           window_bottom . . . . . . . . . . . . . . . . . . . . . .  18, 63
  4856.           window_close  . . . . . . . . . . . . . . . . . . . . . . . .  63
  4857.           window_edit . . . . . . . . . . . . . . . . . . . . . . .  41, 63
  4858.           window_load . . . . . . . . . . . . . . . . . . . . . . .  41, 63
  4859.           window_next . . . . . . . . . . . . . . . . . . . . . . . . .  63
  4860.           window_one  . . . . . . . . . . . . . . . . . . . . .  19, 41, 63
  4861.           window_previous . . . . . . . . . . . . . . . . . . . . .  19, 63
  4862.           window_resize . . . . . . . . . . . . . . . . . . . .  19, 41, 63
  4863.           window_split  . . . . . . . . . . . . . . . . . . . .  19, 41, 63
  4864.           window_top  . . . . . . . . . . . . . . . . . . . . . . . . .  63
  4865.           window_vertical . . . . . . . . . . . . . . . . . . . . .  41, 63
  4866.           window_zoom . . . . . . . . . . . . . . . . . . . . . . .  41, 63
  4867.           word_count  . . . . . . . . . . . . . . . . . . . . . . . . .  57
  4868.  
  4869.                              Bingo 2.01 Reference Manual
  4870.                                           81
  4871.  
  4872.  
  4873.  
  4874.  
  4875.           write_profile . . . . . . . . . . . . . . . . . . . . . .  35, 59
  4876.           zap_file  . . . . . . . . . . . . . . . . . . . . . . . .  28, 50
  4877.  
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.  
  4891.  
  4892.  
  4893.  
  4894.  
  4895.  
  4896.  
  4897.  
  4898.  
  4899.  
  4900.  
  4901.  
  4902.  
  4903.  
  4904.  
  4905.  
  4906.  
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.  
  4914.  
  4915.  
  4916.  
  4917.  
  4918.  
  4919.  
  4920.  
  4921.  
  4922.  
  4923.  
  4924.  
  4925.  
  4926.  
  4927.                              Bingo 2.01 Reference Manual
  4928.                                           82
  4929.  
  4930.